Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hotfix - General - Evitar errores en PHP 8 #477

Draft
wants to merge 8 commits into
base: enhancement/coreUpgradeSuiteCRM7.14.4
Choose a base branch
from

Conversation

jordiSTIC
Copy link
Collaborator

@jordiSTIC jordiSTIC commented Nov 13, 2024

Descripción

Este PR soluciona ciertos errores en PHP 8 encontrados en el core, al ejecutar la herramienta Rector en todo el código de SinergiaCRM.

Cambios realizados

Llamadas estáticas a funciones no estáticas

Se ha observado se realizan llamadas a funciones no estáticas como si éstas fueran estáticas, y esto provoca error en PHP 8: Deprecated: Non-static method should not be called statically:

  • Commit 4c16a81: Corrección en la carpeta /custom
  • Commit 76b8249: Corrección en el código de core

Uso de variable obsoleta $HTTP_SERVER_VARS

Hay accesos a la variable obsoleta $HTTP_SERVER_VARS. El soporte a esta variable se declaró obsoleto en la versión de php 5.4. Para corregir este error se debe substituir la variable $HTTP_SERVER_VARS por $_SERVER

  • Commit d7301c7: Substitución de $HTTP_SERVER_VARS por $_SERVER

Operaciones ternarias encadenadas sin paréntesis

En PHP 7.4 se declaró obsoleta la opción de poder encadenar operaciones ternarias sin paréntesis explícitos. En include/SugarFields/Parsers/QuickCreateMetaParser.php se asignaba el resultado de múltiples ternarias sin aplicar paréntesis.

Errores de sintaxis

Se observa una comparación errónea en include/Smarty/plugins/function.ext_includes.php:
Aparece la siguiente comparación:

if (strcasecmp(substr($file, -4), '.css' == 0))

En el código se evalúa '.css' == 0 lo que se traduce a 0 == 0: if (strcasecmp(substr($file, -4), 0 == 0))
El paréntesis está mal puesto. Tendría que ser:

if (strcasecmp(substr($file, -4), '.css') == 0)

@jordiSTIC jordiSTIC added bug Something isn't working General labels Nov 13, 2024
@jordiSTIC jordiSTIC self-assigned this Nov 13, 2024
Copy link

Actions executed at: 2024-11-13 08:53:54.

@jordiSTIC jordiSTIC changed the title Hotfix - General - Evitar errores en PHP 8 por llamadas a funciones no estáticas como si lo fueran Hotfix - General - Evitar errores en PHP 8 Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working General
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Incidencia - General - Evitar errores en PHP 8 por llamadas a funciones no estáticas como si lo fueran
1 participant