Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 08-03-2021 17:43:38

punbbfan
Membre

Punbb 1.2.24 : portage en PHP 7.2

Bonjour,

Il y a 3 ans, j'avais déjà initié un topic pour porter Punbb 1.2.24 en PHP 7.

Avec l'aide des uns et des autres, mon énorme forum a pu être porté en PHP 7. La partie la plus difficile ayant été le fichier parser.php.

Aujourd'hui, je fais les modifications pour un portage en PHP7.2.

Pour identifier les fichiers à modifier, j'ai utilisé la classe PHP Deprecated Function Checker, en complétant le fichier depcheck.csv comme suit :

"png2wbmp","",7,2,
"jpeg2wbmp","",7,2,
"__autoload","",7,2,
"create_function","",7,2,
"parse_str","",7,2,
"gmp_random","",7,2,
"each","",7,2,
"assert","",7,2,
"read_exif_data","",7,2,

Ainsi, j'ai pu identifier que la quasi totalité des modifications à réaliser concerne les instructions each qui sont présentes dans plusieurs fichiers.

Quand je vois :

while (list($key, $value) = each($_POST['form']))

Je remplace par :

foreach ($_POST['form'] as $key => $value)

Quand je vois :

while (list(, $temp) = @each($languages))

Je remplace par :

foreach ($languages as $temp)

Par contre, je ne sais pas remplacer ceci :

while (list($post_id,) = @each($result_list))

Je précise que je suis un développeur PHP du dimanche... J'ai appris uniquement à force de bidouillant Punbb...

Est-ce qu'une ame charitable pour me donner l'équivalence avec un foreach ?

Merci d'avance !

Hors ligne

#2 09-03-2021 11:37:35

Otomatic
Régisseur

Re : Punbb 1.2.24 : portage en PHP 7.2

punbbfan a écrit :

Par contre, je ne sais pas remplacer ceci :

while (list($post_id,) = @each($result_list))

Bonjour,

Ayant déjà procédé aux remplacements nécessaires pour que ça puisse tourner avec PHP 8.0.3, je ne retrouve pas de quel fichier provient le code ci-dessus.
Merci d'indiquer le fichier d'origine.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#3 09-03-2021 11:46:14

punbbfan
Membre

Re : Punbb 1.2.24 : portage en PHP 7.2

Bonjour,

Merci de votre intérêt.

Dans le fichier search.php :

if ($match_type == 'and' && $word_count)
{
@reset($result_list);
while (list($post_id,) = @each($result_list))
{
if (!isset($row[$post_id]))
$result_list[$post_id] = 0;
}
}

Ayant déjà procédé aux remplacements nécessaires pour que ça puisse tourner avec PHP 8.0.3

Hum... Je me suis limité à 7.2, mais effectivement, c'est encore mieux de monter jusqu'à 8.0.3.

Est-ce que le travail a été conséquent ?

Dernière modification par punbbfan (09-03-2021 11:46:43)

Hors ligne

#4 09-03-2021 17:23:45

Otomatic
Régisseur

Re : Punbb 1.2.24 : portage en PHP 7.2

Voilà ce que j'ai :

if ($match_type == 'and' && $word_count)
{
  foreach ($keyword_results as $post_id => $topic_id)
  {
    if (!isset($row[$post_id]))
    {
      unset($keyword_results[$post_id]);
      unset($sort_data[$post_id]);
    }
  }
}

Entre ce qui avait été effectué pour PHP 7.2 et PHP 8.0.3, il y a eu peu de choses.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#5 09-03-2021 17:48:47

punbbfan
Membre

Re : Punbb 1.2.24 : portage en PHP 7.2

Ok. Merci pour vos réponses Otomatic.

Punbb 1.2 n'est pas mort. cool

Hors ligne

Pied de page des forums