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

L_SUNDAY jamais retourné dans date #322

Closed
jerrywham opened this issue Apr 12, 2019 · 3 comments
Closed

L_SUNDAY jamais retourné dans date #322

jerrywham opened this issue Apr 12, 2019 · 3 comments
Assignees
Labels
changes new features
Milestone

Comments

@jerrywham
Copy link
Contributor

Dans le fichier /core/lib/class.plx.date.php

	public static function getCalendar($key, $value) {
		if(!$value) return false;
(...)

Si $value == 0, la fonction le considère comme null avec cette formulation, ce qui fait que les index en 0 (notamment L_SUNDAY) ne peuvent jamais être retournés.
De plus, je ne pense pas que cette ligne soit pertinente car la méthode exige 2 variables (et donc si la variable $value n'est pas renseignée, cela soulèvera une erreur).

Je propose donc de mettre la ligne suivant à la place :

	public static function getCalendar($key, $value) {
		if(!$value) $value = 0;
(...)
@haruka-7 haruka-7 self-assigned this Apr 27, 2019
@haruka-7 haruka-7 added the changes new features label Apr 27, 2019
@haruka-7
Copy link
Collaborator

Hello,

Finalement est-ce qu'il ne serait pas mieux d'utiliser la fonction isset() ?

public static function getCalendar($key, $value) {
   if(!isset($value)) return false;
   (...)
}

Source : https://www.php.net/manual/fr/function.empty.php
Voir l'exemple 1 :

$var = 0;
                   
// Evalué à vrai car $var est vide
if (empty($var)) {
  echo '$var vaut soit 0, vide, ou pas définie du tout';
}
                   
// Evalué à vrai car $var est défini
if (isset($var)) {
  echo '$var est définie même si elle est vide';
}

@jerrywham
Copy link
Contributor Author

La méthode exige 2 variables et donc si la variable $value n'est pas renseignée, cela soulèvera une erreur. Donc il n'est pas nécessaire de vérifier que la variable existe.
Peut-être utiliser if(!is_int($value)) return false; plutôt ?

@haruka-7
Copy link
Collaborator

Finalement, j'ai remplacé is_int par is_numeric, car le test retournait false pour les mois (car la clé commence par un "0").

@haruka-7 haruka-7 added this to the PluXml 5.8 milestone Sep 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
changes new features
Projects
None yet
Development

No branches or pull requests

2 participants