FacturaScripts  
Modificar el núcleo de FacturaScripts y sustituir todos los $_POST['XXX'] por filter_input(INPUT_POST, 'XXX'), y los $_GET['XXX'] por filter_input(INPUT_GET, 'XXX'), para mejorar la calidad del código.
Repositorio: https://github.com/NeoRazorX/facturascripts_2015

Nota: probar que funciona antes de enviar.

hace 2 semanas   shawe   [partner]
Para el que haga la tarea, un poco de ayuda para acelerarlo usando regex y lo que me encontré cuando me planteé hacerlo:

Un isset($_POST['XXX']) es equivalente también a usar el filter_input(INPUT_POST,'$1') dentro de un if, con lo que habría que hacer primero un reemplazar de los isset por POST/GET y luego de las que queden.

El problema está más en los $_REQUEST, que hasta donde encontré, no hay un equivalente directo con filter_input, y si hay casos que la asignación puede ser por GET y POST a la vez habrá que añadir ambas comprobaciones.

Buscar:
isset\(\$_REQUEST\['(\w+)']\)

Reemplazar:
filter_input(INPUT_POST,'$1') || filter_input(INPUT_GET,'$1')


O bien, analizar el código con más detenimiento y reestringuirlo mejor para los casos con REQUEST. Y para el resto de casos:

Buscar:
isset\(\$_POST\['(\w+)']\)

Reemplazar por:
filter_input(INPUT_POST,'$1')


Buscar:
isset\(\$_GET\['(\w+)']\)

Reemplazar por:
filter_input(INPUT_GET,'$1')


Buscar:
\$_POST\['(\w+)']

Reemplazar por:
filter_input(INPUT_POST,'$1')


Buscar:
\$_GET\['(\w+)']

Reemplazar por:
filter_input(INPUT_GET,'$1')


Pero como mínimo, eso ayudará a tardar bastante menos.

Las regex he comprobado que sean correctas con esto, para que si alguien lo usa, no la lie confiando ciegamente dudando de si están correctas

image

Nota: Re-posteado para usar el tag code
hace 2 semanas   alvaro.castro.tomas_f74d39
Mi mujer Delaya y yo ya hemos creado un fork desde el cual estamos trabajando en esta tarea y haciendo pulls de cada archivo sustituido y verificado sobre una instalación.
hace 1 semana   alvaro.castro.tomas_f74d39
TAREA finalizada y pull en el fork de todos los cambios, se ha revisado su funcionamiento sobre instalación limpia y se ha utilizado la función filter_input_array(INPUT_POST) para cuando se recorrían todos los valores de $_POST en el controlador admin_order_menu.php, se ha realizado búsqueda en todos los archivos de núcleo, para verificar que no quedase ninguna referencia $_POST, $_GET, $_COOKIE y $_REQUEST.
hace 1 semana   NeoRazorX   [admin]
Un millón de gracias ;-)
hace 1 semana   alvaro.castro.tomas_f74d39
Hemos revisado que filter_input() es detectado en algunos casos por la herramienta Scrutinizer como issue cuando se encuentra dentro de una cadena string, estamos haciendo pruebas con casting para verificar la fórmula correcta, en cuanto lo tengamos hacemos el pull request nuevamente.
hace 1 semana   NeoRazorX   [admin]
Si, pero es un mensaje raro. Creo que es fallo de scrutinizer.
hace 1 semana   NeoRazorX   [admin]
Si, parece que el problema viene con que en la documentación de muchas funciones me he dejado @var type, en lugar de @var string, array o lo que sea.
hace 1 semana   alvaro.castro.tomas_f74d39
Cierto, revisamos los que afecten a nuestros cambios en este momento y si quieres se hace un revisión de la documentación en cuento a los tipos de las funciones y variables.
hace 1 semana   alvaro.castro.tomas_f74d39
Hecho, ya hemos solventados los errores de documentación que afectaban a este código existen issues de duplicación ya que identifica varios condicionales como iguales.
hace 1 semana   NeoRazorX   [admin]
Genial, ya está en la actualización del núcleo ;-)
No se pueden hacer más comentarios. Mejor escribe una nueva pregunta

Mejoras disponibles para financiar

Mejora 01 60 ventas necesarias.

Modificar el plugin facturacion_base para añadir saldos a clientes, importes pendientes en facturas de venta sin pagar, etc. Para un mejor control de las deudas.


Mejora 02 50 ventas necesarias.

Financiación colectiva para añadir más algoritmos de nuevo código: normal pero con ceros, continuo, tipo continuo y por rango.


Mejora 03 EN DESARROLLO

Financiación colectiva para mejorar el plugin megafacturador y añadir:
- Agrupar los albaranes de cada cliente en una única factura por cliente.
- Facturar automáticamente cada día, o un determinado día del mes.
- Enviar automáticamente por email las facturas.





© 2013-2017 FacturaScripts