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

/ctrlcontroladora/controller/ctrl_sincronizar.control.op.php

https://gitlab.com/talueses/SIPVE
PHP | 263 lines | 158 code | 33 blank | 72 comment | 18 complexity | 177bfeab12159f4c350d619d12f5dfa2 MD5 | raw file
  1. <?php
  2. /*******************************************************************************\
  3. * @copyright
  4. *
  5. * === SIPve ===
  6. * Sistema Integrado de Protección con capacidades de Videovigilancia
  7. * Control de Acceso y Carnetización para el resguardo físico de instalaciones.
  8. *
  9. * Copyright (C) 2012 Fundación Centro Nacional de Innovación Tecnológica, Cenit.
  10. * Dirección de Investigación, Desarrollo e Innovación.
  11. * Gilda Ramos.
  12. * José Medina.
  13. * Héctor Reverón.
  14. * David Concepción.
  15. * Ronald Delgado.
  16. * Jenner Fuentes.
  17. *
  18. * This program is free software: you can redistribute it and/or modify
  19. * it under the terms of the GNU General Public License as published by
  20. * the Free Software Foundation, either VERSION 3 of the License, or
  21. * (at your option) any later version.
  22. *
  23. * This program is distributed in the hope that it will be useful,
  24. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  25. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  26. * GNU General Public License for more details.
  27. *
  28. * You should have received a copy of the GNU General Public License
  29. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  30. *
  31. * Para mas información visite
  32. * @link http://repositorio.softwarelibre.gob.ve/ - RNA
  33. * @link http://sourceforge.net/projects/sipve/ - SourceForge
  34. * @link https://gitlab.com/talueses/SIPVE - Gitlab Repositorio.
  35. *
  36. \*******************************************************************************/
  37. ?>
  38. <?php
  39. require_once "../../ctrlsincronizar/controller/ctrl_sincronizar.control.php";// Class CONTROL ControlCtrlSincronizar()
  40. /**
  41. * Description
  42. * @author David Concepcion
  43. */
  44. class ControlOpCtrlSincronizar extends ControlCtrlSincronizar{
  45. /**
  46. * Proceso de registrar o actualizar registro
  47. * @return boolean Devuelve verdadero si se registra o actualiza correctamente
  48. */
  49. function setOpCtrlSincronizar($acc){
  50. // ---------- Set Nombres de Campos ---------------//
  51. $this->setNombres();
  52. //echo "<div align='left'><pre>".print_r($_REQUEST,true)."</pre></div>";
  53. $this->setAccion("agregar");
  54. if ($acc=="sincReloj"){
  55. $_REQUEST["item"] = "Reloj";
  56. $_REQUEST["accion"] = "Sincronizar Reloj";
  57. $_REQUEST["codigoaccion"] = "5";
  58. $_REQUEST["prioridad"] = "100";
  59. }
  60. if ($acc=="sincHorarios"){
  61. $_REQUEST["item"] = "Timezone";
  62. $_REQUEST["accion"] = "Modificar Zonas de Tiempo";
  63. $_REQUEST["codigoaccion"] = "7";
  64. $_REQUEST["prioridad"] = "85";
  65. $dataHorarios = CtrlSincronizars::getHorarios();
  66. }
  67. if ($acc=="sincGrpPuertas"){
  68. $_REQUEST["item"] = "Grupo Puertas";
  69. $_REQUEST["accion"] = "Modificar Grupo de Puertas";
  70. $_REQUEST["codigoaccion"] = "8";
  71. $_REQUEST["prioridad"] = "75";
  72. $dataGrupos = CtrlSincronizars::getGrupo();
  73. $dataGrpPuertas = array();
  74. foreach ($dataGrupos as $rowGrupos){
  75. $this->unsetGrupoDePuertas();
  76. $dataPuertas = CtrlSincronizars::getGrpPuertas($rowGrupos->idgrupo);
  77. foreach ($dataPuertas as $rowPuertas){
  78. $this->agregarPuerta($rowPuertas->numeroPuerta);
  79. }
  80. $str_grupo = $this->getGrupoStringEmpaquetado();
  81. $dataGrpPuertas[]= (object) array("numeroGrupo" => $rowGrupos->numeroGrupo,
  82. "idgrupo_padre" => $rowGrupos->idgrupo_padre?$rowGrupos->idgrupo_padre:"0",
  83. "nivel" => $rowGrupos->nivel,
  84. "numeroPuerta1" => substr($str_grupo,0,40),
  85. "numeroPuerta2" => substr($str_grupo,40,40));
  86. }
  87. }
  88. if ($acc=="sincTrajetasAcc"){
  89. $_REQUEST["item"] = "Usuario";
  90. $_REQUEST["accion"] = "Escribir Usuario";
  91. $_REQUEST["codigoaccion"] = "4";
  92. $_REQUEST["prioridad"] = "100";
  93. $dataTarjetasAcceso = CtrlSincronizars::getTarjetasAcceso();
  94. }
  95. if ($acc=="sincFeriados"){
  96. $_REQUEST["item"] = "Feriados";
  97. $_REQUEST["accion"] = "Modificar Dia Feriado";
  98. $_REQUEST["codigoaccion"] = "6";
  99. $_REQUEST["prioridad"] = "75";
  100. $dataFeriados = CtrlSincronizars::getDiasFeriados();
  101. }
  102. $data = CtrlSincronizars::getControladoras($_REQUEST["idcontroladora"]);
  103. if (count($data) > 0){
  104. //echo "<div align='left'><pre>".print_r($data,true)."</pre></div>";
  105. foreach ($data as $key => $row){
  106. $_REQUEST["nodo"] = $row->nodo;
  107. $_REQUEST["ipv4"] = $row->ipv4;
  108. $_REQUEST["puerto"] = $row->puerto;
  109. if ($acc=="sincReloj"){
  110. //------------------ Ingresar registro en CtrlSincronizar -----------------//
  111. if(!$this->setCtrlSincronizar()) return false;
  112. }
  113. if ($acc=="sincHorarios"){
  114. foreach ($dataHorarios as $key => $rowHorarios){
  115. $_REQUEST["param1"] = $rowHorarios->indice;
  116. $_REQUEST["param2"] = $rowHorarios->disponibleenferiado;
  117. $_REQUEST["param3"] = $rowHorarios->nivel;
  118. $_REQUEST["param4"] = $rowHorarios->domingodesde;
  119. $_REQUEST["param5"] = $rowHorarios->domingohasta;
  120. $_REQUEST["param6"] = $rowHorarios->lunesdesde;
  121. $_REQUEST["param7"] = $rowHorarios->luneshasta;
  122. $_REQUEST["param8"] = $rowHorarios->martesdesde;
  123. $_REQUEST["param9"] = $rowHorarios->marteshasta;
  124. $_REQUEST["param10"] = $rowHorarios->miercolesdesde;
  125. $_REQUEST["param11"] = $rowHorarios->miercoleshasta;
  126. $_REQUEST["param12"] = $rowHorarios->juevesdesde;
  127. $_REQUEST["param13"] = $rowHorarios->jueveshasta;
  128. $_REQUEST["param14"] = $rowHorarios->viernesdesde;
  129. $_REQUEST["param15"] = $rowHorarios->vierneshasta;
  130. $_REQUEST["param16"] = $rowHorarios->sabadodesde;
  131. $_REQUEST["param17"] = $rowHorarios->sabadohasta;
  132. $_REQUEST["param18"] = $rowHorarios->indicelink;
  133. //------------------ Ingresar registro en CtrlSincronizar -----------------//
  134. if(!$this->setCtrlSincronizar()) return false;
  135. }
  136. }
  137. if ($acc=="sincGrpPuertas"){
  138. foreach ($dataGrpPuertas as $key => $rowGrpPuertas){
  139. $_REQUEST["param1"] = $rowGrpPuertas->numeroGrupo;
  140. $_REQUEST["param2"] = $rowGrpPuertas->idgrupo_padre;
  141. $_REQUEST["param3"] = $rowGrpPuertas->nivel;
  142. $_REQUEST["param4"] = $rowGrpPuertas->numeroPuerta1;
  143. $_REQUEST["param5"] = $rowGrpPuertas->numeroPuerta2;
  144. //------------------ Ingresar registro en CtrlSincronizar -----------------//
  145. if(!$this->setCtrlSincronizar()) return false;
  146. }
  147. }
  148. if ($acc=="sincTrajetasAcc"){
  149. foreach ($dataTarjetasAcceso as $key => $rowTarjetasAcceso){
  150. $_REQUEST["param1"] = $rowTarjetasAcceso->numeroUsuario;
  151. $_REQUEST["param2"] = $rowTarjetasAcceso->codigo_pin;
  152. $_REQUEST["param3"] = $rowTarjetasAcceso->codigo_tarjeta;
  153. $_REQUEST["param4"] = $rowTarjetasAcceso->codigo_sitio;
  154. $_REQUEST["param5"] = $rowTarjetasAcceso->tarjetayopin;
  155. $_REQUEST["param6"] = $rowTarjetasAcceso->tienefechalimite?$rowHorarios->tienefechalimite:"0";
  156. $_REQUEST["param7"] = $rowTarjetasAcceso->modificable;
  157. $_REQUEST["param8"] = $rowTarjetasAcceso->rondasguardias;
  158. $_REQUEST["param9"] = $rowTarjetasAcceso->skipfpcheck;
  159. $_REQUEST["param10"] = $rowTarjetasAcceso->numeroGrupo;
  160. $_REQUEST["param11"] = $rowTarjetasAcceso->fechahasta;
  161. $_REQUEST["param12"] = $rowTarjetasAcceso->idzonadetiempo;
  162. $_REQUEST["param13"] = $rowTarjetasAcceso->nivel;
  163. $_REQUEST["param14"] = $rowTarjetasAcceso->antipassback;
  164. //------------------ Ingresar registro en CtrlSincronizar -----------------//
  165. if(!$this->setCtrlSincronizar()) return false;
  166. }
  167. }
  168. if ($acc=="sincFeriados"){
  169. foreach ($dataFeriados as $key => $rowFeriados){
  170. $_REQUEST["param1"] = $rowFeriados->idferiado;
  171. $_REQUEST["param2"] = $rowFeriados->dia;
  172. $_REQUEST["param3"] = $rowFeriados->mes;
  173. //------------------ Ingresar registro en CtrlSincronizar -----------------//
  174. if(!$this->setCtrlSincronizar()) return false;
  175. }
  176. }
  177. }
  178. }
  179. return true;
  180. }
  181. /**
  182. * Proceso de eliminar registro
  183. * @return boolean Devuelve verdadero si el proseco de eliminar se ejecuta exitosamente
  184. */
  185. function eliminarOpCtrlSincronizar(){
  186. // ---------- Set Nombres de Campos ---------------//
  187. $this->setNombres();
  188. //------------------ Metodo Set -----------------//
  189. if(!$this->eliminarCtrlSincronizar()) return false;
  190. return true;
  191. }
  192. /**
  193. * Establece los nombres de la Entidad y los campos
  194. */
  195. function setNombres(){
  196. $this->setEntidad("Sincronizacion");
  197. $this->setCampos("item","Item");
  198. $this->setCampos("accion","Accion");
  199. $this->setCampos("codigoaccion","Codigoaccion");
  200. $this->setCampos("nodo","Nodo");
  201. $this->setCampos("ipv4","Ipv4");
  202. $this->setCampos("puerto","Puerto");
  203. $this->setCampos("prioridad","Prioridad");
  204. }
  205. /**
  206. * === Validacion Datos ===
  207. * @return boolean Devuelve verdadero si los datos estan correctos
  208. */
  209. function sonValidosDatos(){
  210. $datos = array();
  211. //------------------------------------------------------------------------------------------------------------//
  212. $datos[] = array("isRequired"=>true,"datoName"=>"item","tipoDato"=>"esAlfaNumericoConEspacios");
  213. //------------------------------------------------------------------------------------------------------------//
  214. $datos[] = array("isRequired"=>true,"datoName"=>"accion","tipoDato"=>"esAlfaNumericoConEspacios");
  215. //------------------------------------------------------------------------------------------------------------//
  216. $datos[] = array("isRequired"=>true,"datoName"=>"codigoaccion","tipoDato"=>"");
  217. //------------------------------------------------------------------------------------------------------------//
  218. $datos[] = array("isRequired"=>true,"datoName"=>"nodo","tipoDato"=>"esNumerico");
  219. //------------------------------------------------------------------------------------------------------------//
  220. $datos[] = array("isRequired"=>true,"datoName"=>"ipv4","tipoDato"=>"esValidaIP");
  221. //------------------------------------------------------------------------------------------------------------//
  222. $datos[] = array("isRequired"=>true,"datoName"=>"puerto","tipoDato"=>"");
  223. //------------------------------------------------------------------------------------------------------------//
  224. $datos[] = array("isRequired"=>true,"datoName"=>"prioridad","tipoDato"=>"esNumerico");
  225. //------------------------------------------------------------------------------------------------------------//
  226. if (!$this->validarDatos($datos))return false;
  227. return true;
  228. }
  229. }
  230. ?>