Overview
Comment: | Améliorations permises par passage à PHP 5.6 |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | dev |
Files: | files | file ages | folders |
SHA1: |
653437ae4ff1d4886d54e2f8b4f58ebc |
User & Date: | bohwaz on 2017-04-27 05:10:05 |
Other Links: | branch diff | manifest | tags |
Context
2017-04-27
| ||
05:27 | Les fonctions get* doivent toujours retourner un tableau check-in: 29880c37a5 user: bohwaz tags: dev | |
05:10 | Améliorations permises par passage à PHP 5.6 check-in: 653437ae4f user: bohwaz tags: dev | |
2017-04-26
| ||
12:41 | Outil pour tester les problèmes de compatibilité des plugins avec la version 0.8 check-in: 52c3f195fa user: bohwaz tags: dev | |
Changes
Modified src/include/lib/Garradin/DB.php from [9ea38a4c6c] to [ac30598b52].
︙ | ︙ | |||
425 426 427 428 429 430 431 | if ($mode === self::OBJ) { $as_obj = true; $mode = self::ASSOC; } | < < < | | < < < | | < < < | | | | 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 | if ($mode === self::OBJ) { $as_obj = true; $mode = self::ASSOC; } while ($row = $result->fetchArray($mode)) { yield ($as_obj ? (object) $row : $row); } $result->finalize(); unset($result, $row); return; } /** * Récupère le résultat d'un statement sous forme de tableau associatif * avec colonne1 comme clé et colonne2 comme valeur. * * @param \SQLite3Result $result Résultat de statement * @param integer $mode Mode de récupération (BOTH, OBJ, NUM ou ASSOC) * @return array */ protected function fetchAssoc(\SQLite3Result $result) { while ($row = $result->fetchArray(\SQLITE3_NUM)) { yield $row[0] => $row[1]; } $result->finalize(); unset($result, $row); return; } /** * Récupère le résultat d'un statement sous forme de tableau associatif * avec colonne1 comme clé et la ligne comme valeur. * @param \SQLite3Result $result Résultat de statement * @param integer $mode Mode de récupération (BOTH, OBJ, NUM ou ASSOC) * @return array */ protected function fetchAssocKey(\SQLite3Result $result, $mode = null) { $as_obj = false; if ($mode === self::OBJ) { $as_obj = true; $mode = self::ASSOC; } while ($row = $result->fetchArray($mode)) { $key = current($row); yield $key => ($as_obj ? (object) $row : $row); } $result->finalize(); unset($result, $row, $key); return; } /** * Compte le nombre de lignes dans un résultat * @param \SQLite3Result $result Résultat SQLite3 * @return integer */ |
︙ | ︙ |
Modified src/include/lib/Garradin/Membres.php from [4464c9f554] to [95b303a224].
︙ | ︙ | |||
31 32 33 34 35 36 37 | static public function hashPassword($password) { // Remove NUL bytes // see http://blog.ircmaxell.com/2015/03/security-issue-combining-bcrypt-with.html $password = str_replace("\0", '', $password); | < < | < < < < < < < < < | < < < < < < | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | static public function hashPassword($password) { // Remove NUL bytes // see http://blog.ircmaxell.com/2015/03/security-issue-combining-bcrypt-with.html $password = str_replace("\0", '', $password); return password_hash($password, \PASSWORD_DEFAULT); } static public function checkPassword($password, $stored_hash) { // Remove NUL bytes // see http://blog.ircmaxell.com/2015/03/security-issue-combining-bcrypt-with.html $password = str_replace("\0", '', $password); return password_verify($password, $stored_hash); } // Gestion des données /////////////////////////////////////////////////////// public function _checkFields(&$data, $check_editable = true, $check_password = true) { $champs = Config::getInstance()->get('champs_membres'); |
︙ | ︙ |
Modified src/index.php from [c3be9b45ef] to [77aa99b396].
1 2 3 4 5 6 7 | <?php // Ce fichier n'est pas censé être appelé sauf si l'installation de Garradin // n'est pas effectuée correctement avec le vhost pointant sur le répertoire www/ // auquel cas on limite les dégâts // Juste une vérification avant de continuer | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php // Ce fichier n'est pas censé être appelé sauf si l'installation de Garradin // n'est pas effectuée correctement avec le vhost pointant sur le répertoire www/ // auquel cas on limite les dégâts // Juste une vérification avant de continuer if (!version_compare(phpversion(), '5.6.0', '>=')) { die('PHP 5.6.0 ou supérieur est nécessaire au fonctionnement de Garradin.'); } header('Location: www/'); |
Modified src/www/admin/install.php from [8fc796e697] to [a29cc0c7e4].
︙ | ︙ | |||
31 32 33 34 35 36 37 | echo "Pour plus d'informations consulter http://dev.kd2.org/garradin/Probl%C3%A8mes%20fr%C3%A9quents\n"; } exit; } test_requis( | | | | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | echo "Pour plus d'informations consulter http://dev.kd2.org/garradin/Probl%C3%A8mes%20fr%C3%A9quents\n"; } exit; } test_requis( version_compare(phpversion(), '5.6', '>='), 'PHP 5.6 ou supérieur requis. PHP version ' . phpversion() . ' installée.' ); test_requis( defined('CRYPT_BLOWFISH') && CRYPT_BLOWFISH, 'L\'algorithme de hashage de mot de passe Blowfish n\'est pas présent (pas installé ou pas compilé).' ); |
︙ | ︙ |