PageRenderTime 28ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/administracion/productos.php

https://gitlab.com/merintec/barvo
PHP | 311 lines | 259 code | 38 blank | 14 comment | 8 complexity | 8383b708804d14186734a04de2b00573 MD5 | raw file
  1. <?php
  2. include("../comunes/variables.php");
  3. include("verificar_admin.php");
  4. include("../comunes/conexion.php");
  5. $tabla='productos';
  6. $titulos_busqueda = 'Nombre, Descripci&oacute;n, Defecto, Orden';
  7. $datos_busqueda = 'nomb_prod,desc_prod,defecto,orden';
  8. $orden_busqueda = 'orden asc, nomb_prod asc';
  9. $edita_orden_num = 'orden';
  10. $nregistros = 100;
  11. ?>
  12. <!DOCTYPE html>
  13. <html lang="es">
  14. <head>
  15. <meta charset="utf-8">
  16. <meta name="viewport" content="width=device-width, initial-scale=1">
  17. <link rel="stylesheet" type="text/css" href="../bootstrap/css/bootstrap.min.css">
  18. <link rel="stylesheet" type="text/css" href="../estilo/estilo.css">
  19. <script src="../bootstrap/js/jquery.js"> </script>
  20. <script src="../validacion/js/languages/jquery.validationEngine-es.js" type="text/javascript" charset="utf-8"></script>
  21. <script src="../validacion/js/jquery.validationEngine.js" type="text/javascript" charset="utf-8"></script>
  22. <link rel="stylesheet" href="../validacion/css/validationEngine.jquery.css" type="text/css"/>
  23. <link rel="stylesheet" href="../validacion/css/template.css" type="text/css"/>
  24. <!-- para subir imagenes -->
  25. <script language="javascript" src="../js/AjaxUpload.2.0.min.js"></script>
  26. <!-- estos link se estan usando para el calendario, lo que si es que debemos descargarlos -->
  27. <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/themes/base/jquery-ui.css">
  28. <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.0/jquery-ui.min.js"></script>
  29. <script type="text/javascript" src="../js/whatyouseeiswhatyouget/jquery-te-1.4.0.min.js" charset="utf-8"></script>
  30. <link type="text/css" rel="stylesheet" href="../js/whatyouseeiswhatyouget/jquery-te-1.4.0.css">
  31. <title><?php echo $nom_pagina; ?></title>
  32. </head>
  33. <!-- validacion en vivo -->
  34. <script>
  35. <!-- validacion en vivo -->
  36. jQuery(document).ready(function(){
  37. // binds form submission and fields to the validation engine
  38. jQuery("#form1").validationEngine('attach', {bindMethod:"live"});
  39. });
  40. </script>
  41. <!-- funcion de guardar formulario -->
  42. <script type="text/javascript">
  43. $(function()
  44. {
  45. $("#guardar").click(function()
  46. {
  47. if ($("#form1").validationEngine('validate')){
  48. var url="../comunes/funcion_guardar.php";
  49. $.ajax
  50. ({
  51. type: "POST",
  52. url: url,
  53. data: $("#form1").serialize(),
  54. success: function(data)
  55. {
  56. var codigo, datatemp, mensaje;
  57. datatemp=data;
  58. datatemp=datatemp.split(":::");
  59. codigo=datatemp[0];
  60. mensaje=datatemp[1];
  61. if (codigo==001)
  62. {
  63. $('#msg_imag').hide();
  64. $('#msg_imag1').hide();
  65. $("#form1")[0].reset();
  66. $(".jqte-test").val('');
  67. $(".jqte_editor").jqteVal($(".jqte-test").val());
  68. $('#imagen_cargada').attr('src','');
  69. $('#imagen_cargada1').attr('src','');
  70. }
  71. $("#resultado").html(mensaje);
  72. buscar();
  73. }
  74. });
  75. return false;
  76. }
  77. });
  78. });
  79. function buscar()
  80. {
  81. var url="../comunes/busqueda.php";
  82. $.ajax
  83. ({
  84. type: "POST",
  85. url: url,
  86. data: $("#form1").serialize(),
  87. success: function(data)
  88. {
  89. $("#resultado_busqueda").html(data);
  90. }
  91. });
  92. return false;
  93. }
  94. //imagen 1
  95. $(document).ready(function(){
  96. var parametros = {
  97. "direc" : "msg_imag"
  98. };
  99. var button = $('#upload_button');
  100. new AjaxUpload('#upload_button', {
  101. type: "POST",
  102. data: parametros,
  103. action: 'subir_imagen_productos.php',
  104. onSubmit : function(file , ext){
  105. if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
  106. // extensiones permitidas
  107. var mensaje;
  108. mensaje='<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">&times;</button><strong>Error... Solo se permiten imagenes</strong></div>';
  109. $("#resultado").html(mensaje);
  110. // cancela upload
  111. return false;
  112. } else {
  113. $('#status_imagen').html('Cargando...');
  114. this.disable();
  115. }
  116. },
  117. onComplete: function(file, response){
  118. // habilito upload button
  119. $('#status_imagen').html(response);
  120. this.enable();
  121. // Agrega archivo a la lista
  122. var nom_arch=file;
  123. $('#imag_prod').val(nom_arch);
  124. $('#imagen_cargada').attr('src','../imagenes/uploads/productos/'+nom_arch);
  125. //html('.files').text(file);
  126. }
  127. });
  128. });
  129. //imagen 1
  130. $(document).ready(function(){
  131. var parametros = {
  132. "direc" : "msg_imag1"
  133. };
  134. var button = $('#upload_button1');
  135. new AjaxUpload('#upload_button1', {
  136. type: "POST",
  137. data: parametros,
  138. action: 'subir_imagen_productos.php',
  139. onSubmit : function(file , ext){
  140. if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
  141. // extensiones permitidas
  142. var mensaje;
  143. mensaje='<div class="alert alert-danger"><button type="button" class="close" data-dismiss="alert">&times;</button><strong>Error... Solo se permiten imagenes</strong></div>';
  144. $("#resultado").html(mensaje);
  145. // cancela upload
  146. return false;
  147. } else {
  148. $('#status_imagen1').html('Cargando...');
  149. this.disable();
  150. }
  151. },
  152. onComplete: function(file, response){
  153. // habilito upload button
  154. $('#status_imagen1').html(response);
  155. this.enable();
  156. // Agrega archivo a la lista
  157. var nom_arch=file;
  158. $('#icon_prod').val(nom_arch);
  159. $('#imagen_cargada1').attr('src','../imagenes/uploads/productos/'+nom_arch);
  160. //html('.files').text(file);
  161. }
  162. });
  163. });
  164. </script>
  165. <body>
  166. <?php
  167. include("menu_backend.php");
  168. ?>
  169. <div data-offset-top="100" class="container" data-spy="affix">
  170. <div id="resultado"></div>
  171. </div>
  172. <div class="jumbotron cajaform">
  173. <div class="titulo_form"> Productos </div>
  174. <form method="POST" name="form1" id="form1" onsubmit="return jQuery(this).validationEngine('validate');">
  175. <input type="hidden" name="var_tabla" id="var_tabla" value='<?php echo $tabla; ?>'>
  176. <input type="hidden" name="var_titulos_busqueda" id="var_titulos_busqueda" value='<?php echo $titulos_busqueda; ?>'>
  177. <input type="hidden" name="var_datos_busqueda" id="var_datos_busqueda" value='<?php echo $datos_busqueda; ?>'>
  178. <input type="hidden" name="var_orden_busqueda" id="var_orden_busqueda" value='<?php echo $orden_busqueda; ?>'>
  179. <input type="hidden" name="var_edita_orden_num" id="var_edita_orden_num" value='<?php echo $edita_orden_num; ?>'>
  180. <input type="hidden" name="var_nregistros" id="var_nregistros" value='<?php echo $nregistros; ?>'>
  181. <input type="hidden" name="var_pag_actual" id="var_pag_actual" value=''>
  182. <div class="form-group">
  183. <label for="nomb_prod" class="etq_form" > Nombre:</label>
  184. <div id="grupo_nomb_prod" class="input-group">
  185. <input type="text" name="nomb_prod" id="nomb_prod" class="validate[required, custom[onlyLetterSp], minSize[3], maxSize[100]] text-input, form-control" placeholder="Nombre del Producto">
  186. <span id="boton_nomb_prod" class="input-group-addon" style="cursor:pointer; cursor: hand;" onclick="buscar()";>
  187. <span id="buscar_nomb_prod" title="Buscar" class="glyphicon glyphicon-search"> </span>
  188. <span id="actualiza_nomb_prod" title="Guardar Cambios" class="glyphicon glyphicon-floppy-disk oculto"> </span>
  189. </span>
  190. </div>
  191. </div>
  192. <div class="form-group">
  193. <label for="desc_prod" class="etq_form" >Descripci&oacute;n:</label>
  194. <div id="grupo_desc_prod" class="">
  195. <input type="text" name="desc_prod" id="desc_prod" class="validate[required, custom[onlyLetterSp], minSize[4], maxSize[100]] text-input, form-control" placeholder="Descripci&oacute;n del Producto">
  196. <span id="boton_desc_prod" class="input-group-addon" style="visibility:hidden; cursor:pointer; cursor: hand;" onclick="buscar()";>
  197. <span id="actualiza_desc_prod" title="Guardar Cambios" class="glyphicon glyphicon-floppy-disk oculto"> </span>
  198. </span>
  199. </div>
  200. </div>
  201. <div class="form-group">
  202. <label for="imag_prod" class="etq_form" > Imagen Producto:</label>
  203. <div id="grupo_imag_prod" class="input-group">
  204. <span id="upload_button" class="input-group-addon" style="cursor:pointer; cursor: hand;" onclick="";>
  205. <span class="glyphicon glyphicon-picture"> </span>
  206. </span>
  207. <input type="text" name="imag_prod" id="imag_prod" class="form-control" placeholder="Subir Imagen">
  208. <span id="boton_imag_prod" class="input-group-addon" style=" visibility:hidden; cursor:pointer; cursor: hand;" onclick="";>
  209. <span id="actualiza_imag_prod" title="Guardar Cambios" class="glyphicon glyphicon-floppy-disk oculto"> </span>
  210. </span>
  211. </div>
  212. <div id="status_imagen"></div>
  213. <div class="text-center">
  214. <img id="imagen_cargada" style="max-width:30%; border:1px solid #000;" src="" >
  215. </div>
  216. </div>
  217. <div class="form-group">
  218. <label for="icon_prod" class="etq_form" > Icono del Producto:</label>
  219. <div id="grupo_icon_prod" class="input-group">
  220. <span id="upload_button1" class="input-group-addon" style="cursor:pointer; cursor: hand;" onclick="";>
  221. <span class="glyphicon glyphicon-picture"> </span>
  222. </span>
  223. <input type="text" name="icon_prod" id="icon_prod" class="form-control" placeholder="Subir Imagen">
  224. <span id="boton_icon_prod" class="input-group-addon" style=" visibility:hidden; cursor:pointer; cursor: hand;" onclick="";>
  225. <span id="actualiza_icon_prod" title="Guardar Cambios" class="glyphicon glyphicon-floppy-disk oculto"> </span>
  226. </span>
  227. </div>
  228. <div id="status_imagen1"></div>
  229. <div class="text-center">
  230. <img id="imagen_cargada1" style="max-width:30%; border:1px solid #000;" src="" >
  231. </div>
  232. </div>
  233. <div class="form-group">
  234. <label for="cont_prod" class="etq_form" > Contenido:</label>
  235. <div id="grupo_cont_prod" class="">
  236. <textarea name="cont_prod" id="cont_prod" class=" validate[required], text-input jqte-test form-control"> </textarea>
  237. </div>
  238. <span id="boton_cont_prod" class="input-group-addon" style="visibility:hidden; cursor:pointer; cursor: hand;" onclick="buscar()";>
  239. <span id="actualiza_cont_prod" title="Guardar Cambios" class="glyphicon glyphicon-floppy-disk oculto"> </span>
  240. </span>
  241. </div>
  242. <div class="form-group">
  243. <div id="grupo_defecto" class="">
  244. <label for="defecto" class="etq_form">Establecer por Defecto:&nbsp;</label>
  245. <input type="checkbox" name="defecto" id="defecto" value="s" onclick="$(this).val(this.checked ? 's' : '')">
  246. <span id="boton_defecto" class="input-group-addon" style="visibility:hidden; cursor:pointer; cursor: hand;" onclick="buscar()";>
  247. <span id="actualiza_defecto" title="Guardar Cambios" class="glyphicon glyphicon-floppy-disk oculto"> </span>
  248. </span>
  249. </div>
  250. </div>
  251. <div align="center"> <a href="<?php echo $_PHP_SELF; ?>"><button id="cancelar" type="button" class="btn btn_form oculto" >Cancelar</button></a> <input type="submit" name="guardar" id="guardar" value="Guardar" class="btn btn_form" > </div>
  252. </form>
  253. </div>
  254. <div class="row">
  255. <div id='resultado_busqueda' class="container">
  256. <?php
  257. include("../comunes/busqueda.php");
  258. ?>
  259. </div>
  260. </div>
  261. <script>
  262. $('.jqte-test').jqte();
  263. // settings of status
  264. var jqteStatus = true;
  265. $(".status").click(function()
  266. {
  267. jqteStatus = jqteStatus ? false : true;
  268. $('.jqte-test').jqte({"status" : jqteStatus})
  269. });
  270. </script>
  271. <script src="../bootstrap/js/bootstrap.min.js"> </script>
  272. </body>
  273. </html>