PageRenderTime 35ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/vidcamara/model/camaras_productor.model.php

https://gitlab.com/talueses/SIPVE
PHP | 197 lines | 118 code | 32 blank | 47 comment | 13 complexity | 9e749386da3eb37a84e92ee7edef8b19 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. /*
  40. * Modificado por David Concepcion 08-09-2010 CENIT
  41. * Nuevos metodos autogenerados:
  42. * - modificarRegistro()
  43. * - eliminarRegistro()
  44. * Escritura de archivos PHP file_put_contents() y asignacion de permisologia chmod()
  45. */
  46. require_once "dblink.php";
  47. class Motionconf {
  48. function crearDataObject($tabla) {
  49. $sql = "SHOW COLUMNS FROM $tabla";
  50. $link = DbLink::getLink();
  51. $result = mysql_query($sql, $link);
  52. if (!$result) {
  53. $this->mensaje = mysql_error($link);
  54. return false;
  55. }
  56. $nombre = ucfirst(strtolower($tabla));
  57. $str = "<?php\n";
  58. $str .= "require_once 'dblink.php';\n";
  59. $str .= "class $nombre {\n";
  60. $str .= "\tvar \$mensaje = null;\n";
  61. while ($metadata = mysql_fetch_assoc($result)) {
  62. $str .= "\tvar $".$metadata['Field']." = null;\n";
  63. }
  64. $str .= "\n\n\n\n//============================GETER Y SETER FUNCIONES ====================================\n\n";
  65. $str .= "\tpublic function getMensaje(){\n";
  66. $str .= "\t\t return \$this->mensaje;\n";
  67. $str .= "\t}\n\n";
  68. mysql_data_seek($result, 0);
  69. while ($metadata = mysql_fetch_assoc($result)) {
  70. $str .= "\tpublic function set".ucfirst(strtolower($metadata['Field']))."($".$metadata['Field']."){\n";
  71. $str .= "\t\t\$this->".$metadata['Field']." = $".$metadata['Field'].";\n";;
  72. $str .= "\t}\n\n\n";
  73. $str .= "\tpublic function get".ucfirst(strtolower($metadata['Field']))."(){\n";
  74. $str .= "\t\t return \$this->".$metadata['Field'].";\n";;
  75. $str .= "\t}\n\n\n";
  76. }
  77. $str .= "\n\n\n\n//============================ FUNCION PARA INSERTAR ====================================\n\n";
  78. $str .= "\tpublic function insertarRegistro(){\n";
  79. $str .= "\t\t\$campos = \"\"; \$valores = \"\";\n";
  80. mysql_data_seek($result, 0);
  81. while ($metadata = mysql_fetch_assoc($result)) {
  82. $str .= "\t\tif((\$this->".$metadata['Field']." !== null) && (trim(\$this->".$metadata['Field'].")!=='') ){\n";
  83. $str .= "\t\t\t\$campos .= \"".$metadata['Field'].",\";\n";
  84. if(strpos("_".$metadata['Type'],"int(")){
  85. $str .= "\t\t\t\$valores .= \"\".\$this->".$metadata['Field'].".\",\";\n";
  86. }else{
  87. $str .= "\t\t\t\$valores .= \"'\".\$this->".$metadata['Field'].".\"',\";\n";
  88. }
  89. $str .= "\t\t}\n\n";
  90. }
  91. $str .= "\t\t\$campos = \"(\$campos)\";\n";
  92. $str .= "\t\t\$valores = \"(\$valores)\";\n";
  93. $str .= "\t\t\$campos = str_replace(\",)\",\")\",\$campos);\n";
  94. $str .= "\t\t\$valores = str_replace(\",)\",\")\",\$valores);\n";
  95. $str .= "\t\t\$sql = \"INSERT INTO ".$tabla." \$campos VALUES \$valores\";\n";
  96. $str .= "\t\t\$link = DbLink::getLink();\n";
  97. $str .= "\t\t\$result = mysql_query(\$sql, \$link);\n";
  98. $str .= "\t\tif (!\$result) {\n";
  99. $str .= "\t\t\t\$this->mensaje = mysql_error(\$link);\n";
  100. $str .= "\t\t\treturn false;\n";
  101. $str .= "\t\t}\n";
  102. $str .= "\t\treturn true;\n";
  103. $str .= "\t}//fin de la funcion insertar\n\n";
  104. $str .= "\n\n\n\n//============================ FUNCION PARA MODIFICAR ====================================\n\n";
  105. // Comienzo de la generacion del codigo para modificar registros
  106. $str .= "\tpublic function modificarRegistro(\$valor){\n";
  107. $str .= "\t\t\$sql = \"UPDATE ".$tabla." SET \";\n";
  108. mysql_data_seek($result, 0);
  109. while ($metadata = mysql_fetch_assoc($result)) {
  110. if(strtoupper($metadata['Key'])!=="PRI"){
  111. $str .= "\t\tif((\$this->".$metadata['Field']." !== null) && (trim(\$this->".$metadata['Field'].")!=='') ){\n";
  112. if(strpos("_".$metadata['Type'],"int(")){
  113. $str .= "\t\t\t\$sql .= \"".$metadata['Field']."=\".\$this->".$metadata['Field'].".\",\";\n";
  114. }else{
  115. $str .= "\t\t\t\$sql .= \"".$metadata['Field']."='\".\$this->".$metadata['Field'].".\"',\";\n";
  116. }
  117. $str .= "\t\t}\n";
  118. }
  119. if(strtoupper($metadata['Key'])==="PRI"){
  120. $arg = " WHERE ".$metadata['Field']." = '\".\$valor.\"'";
  121. }
  122. }
  123. $str .= "\t\t\$sql .= \",\";\n";
  124. $str .= "\t\t\$sql = str_replace(\",,\",\"\",\$sql);\n\n";
  125. $str .= "\t\t\$sql .= \"".$arg."\";\n";
  126. $str .= "\t\t\$link = DbLink::getLink();\n";
  127. $str .= "\t\t\$result = mysql_query(\$sql, \$link);\n";
  128. $str .= "\t\tif (!\$result) {\n";
  129. $str .= "\t\t\t\$this->mensaje = mysql_error(\$link);\n";
  130. $str .= "\t\t\treturn false;\n";
  131. $str .= "\t\t}\n";
  132. $str .= "\t\treturn true;\n";
  133. $str .= "\t}//fin de la funcion modificar\n\n";
  134. $str .= "\n\n\n\n//============================ FUNCION PARA ELIMINAR ====================================\n\n";
  135. $str .= "\tpublic function eliminarRegistro(\$valor){\n";
  136. while ($metadata = mysql_fetch_assoc($result)) {
  137. if(strtoupper($metadata['Key'])==="PRI"){
  138. $arg = " WHERE ".$metadata['Field']." = '\".\$valor.\"'";
  139. }
  140. }
  141. $str .= "\t\t\$sql = \"DELETE FROM ".$tabla." ".$arg."\";\n";
  142. $str .= "\t\t\$link = DbLink::getLink();\n";
  143. $str .= "\t\t\$result = mysql_query(\$sql, \$link);\n";
  144. $str .= "\t\tif (!\$result) {\n";
  145. $str .= "\t\t\t\$this->mensaje = mysql_error(\$link);\n";
  146. $str .= "\t\t\treturn false;\n";
  147. $str .= "\t\t}\n";
  148. $str .= "\t\treturn true;\n";
  149. $str .= "\t}//fin de la funcion eliminar\n\n";
  150. $str .= "\n\n\n\n//============================ EJEMPLOS SETEANDO ====================================\n\n";
  151. mysql_data_seek($result, 0);
  152. $str .= "/*\n";
  153. while ($metadata = mysql_fetch_assoc($result)) {
  154. $str .= "\t\$config->set".ucfirst(strtolower($metadata['Field']))."(trim(\$_POST['".$metadata['Field']."']));\n";
  155. }
  156. $str .= "*/\n";
  157. $str .= "}//fin de la clase\n\n\n";
  158. $str .= "?>";
  159. //echo $str;
  160. $res = file_put_contents('../model/camaras_'.$tabla.'.tabla.php', $str);
  161. chmod("../model/camaras_".$tabla.".tabla.php", 0777);
  162. return $res;
  163. }
  164. }
  165. ?>