josecarre Posted February 17, 2012 Share Posted February 17, 2012 He instalado sin problemas el módulo ruralvía 0.8 (gracias, naveto) El módulo va perfecto, procesa los pedidos sin problemas bien en pruebas (offline con easyphp, prestashop 1.3.7) Lo único es que al seleccionar modos de pago, y antes de seleccionar el propio módulo ruralvía, me salen estos warnings y notices: Notice: Use of undefined constant is - assumed 'is' in C:\Program Files\EasyPHP-5.3.3\www\tiendagales\modules\ruralvia\ruralvia.php on line 252 Notice: Use of undefined constant ymdHis - assumed 'ymdHis' in C:\Program Files\EasyPHP-5.3.3\www\tiendagales\modules\ruralvia\ruralvia.php on line 267 Warning: Missing argument 4 for ruralvia::firma(), called in C:\Program Files\EasyPHP-5.3.3\www\tiendagales\modules\ruralvia\ruralvia.php on line 270 and defined in C:\Program Files\EasyPHP-5.3.3\www\tiendagales\modules\ruralvia\ruralvia.php on line 214 Notice: Undefined variable: numpedido in C:\Program Files\EasyPHP-5.3.3\www\tiendagales\modules\ruralvia\ruralvia.php on line 217 Notice: Use of undefined constant si - assumed 'si' in C:\Program Files\EasyPHP-5.3.3\www\tiendagales\modules\ruralvia\ruralvia.php on line 275 No sé si puedo ignorarlos, si en producción no saldrán.... a alguien le ha pasado? Link to comment Share on other sites More sharing options...
banense Posted February 17, 2012 Share Posted February 17, 2012 Me parece que deberías probarlo en un sitio online porque puede que por estar en local te de problemas.. Dime donde lo tienes y lo podemos ver.. Link to comment Share on other sites More sharing options...
josecarre Posted February 17, 2012 Author Share Posted February 17, 2012 Hombre, me gustaría que no diera problemas offline, sobre todo porque parece que son unos warnings que se pueden ignorar... el problema es que salen en la página y el cliente se podría asustar. Da la pinta de que son variables no inicializadas o algo así, que yo soy de python y el php me da grima el caso es que luego el script funciona sin fallos. Link to comment Share on other sites More sharing options...
josecarre Posted February 17, 2012 Author Share Posted February 17, 2012 Bueno, ya me he librado del warning y del notice sobre undefined variable: en la línea 270 se llama a la función firma con sólo tres argumentos (tiene 4) porque se ha puesto un punto en vez de una coma: mal $firma = $this->firma($fecha, $importe, $moneda . $numpedido) ; bien $firma = $this->firma($fecha, $importe, $moneda, $numpedido) ; ahora a ver si averiguo lo de las constantes undefined. Si hay alguien que domine php, por favor, ayuda: estas son las líneas que generan los notices: línea 252: $numpedido = str_pad($params['cart']->id, 8, "0", STR_PAD_LEFT) . date(is); línea 267 $fecha = date(ymdHis); línea 275: if ($idioma==si){ Link to comment Share on other sites More sharing options...
josecarre Posted February 17, 2012 Author Share Posted February 17, 2012 Bueno, así a lo loco, los tres últimos 'notice' se retiran si rodeas las constantes is, ymdHis y si con comillas, que es lo que dice el mensaje php que asume. En fin, ahora funciona sin avisos, aunque ya veremos en producción.... Link to comment Share on other sites More sharing options...
nadie Posted February 17, 2012 Share Posted February 17, 2012 Bueno, así a lo loco, los tres últimos 'notice' se retiran si rodeas las constantes is, ymdHis y si con comillas, que es lo que dice el mensaje php que asume. En fin, ahora funciona sin avisos, aunque ya veremos en producción.... Si has solucionado el tema, edita el titulo del tema, editando el primer post y añadiendo al solucionado al titulo. Un saludo, Link to comment Share on other sites More sharing options...
josecarre Posted February 17, 2012 Author Share Posted February 17, 2012 Bueno, no sé, es un 'solucionado sin tener ni p*** idea', aplicando la lógica de los mensajes de error... Link to comment Share on other sites More sharing options...
nadie Posted February 17, 2012 Share Posted February 17, 2012 Bueno, no sé, es un 'solucionado sin tener ni p*** idea', aplicando la lógica de los mensajes de error... Tu mismo has explicado la lógica arriba. Link to comment Share on other sites More sharing options...
josecarre Posted February 17, 2012 Author Share Posted February 17, 2012 vaaaale, sí creo que está solucionado.... bueno, por si le pasa a otro, esta es la solución completa: Este es el módulo ruralvía 0.8, posteado por ahí en un hilo sobre caja rural. Ojo, no es el primero que postean, sino otro que envía después un usuario llamado naveto. El caso es que al usarlo en ps 1.3.7 salen los cinco mensajes de error que puse arriba. Para evitarlos, hay que cambiar cuatro líneas en el archivo ruralvia.php: Disclaimer: no sé programar en php. Esto lo he solucionado investigando los códigos de error y funciona, al menos en pruebas en local. El lunes lo probaré en producción, y si todo va bien, lo indicaré aquí. línea 270: mal$firma = $this->firma($fecha, $importe, $moneda . $numpedido) ;bien (ojo, es cambiar el último punto por una coma)$firma = $this->firma($fecha, $importe, $moneda, $numpedido) ; línea 252: mal$numpedido = str_pad($params['cart']->id, 8, "0", STR_PAD_LEFT) . date(is);bien$numpedido = str_pad($params['cart']->id, 8, "0", STR_PAD_LEFT) . date("is"); línea 267: mal$fecha = date(ymdHis);bien$fecha = date("ymdHis"); línea 275: malif ($idioma==si){bienif ($idioma=="si"){ 1 Link to comment Share on other sites More sharing options...
Recommended Posts