Rickard wrote:

The speed gain is minimal, but I guess it could be fixed for 1.2. I do separate calls to str_replace to increase readability.


OK smile

I think (speed gain minimal + speed gain minimal + speed gain minimal + speed gain minimal [...]) = much speed gained :-)

In all the case, this script is well, good luck for the continuation:)

Hello

In register.php at line 215 ( "$mail_message" ) to 219, str_replace is used 5 time.

        $mail_message = str_replace('<base_url>', $pun_config['o_base_url'].'/', $mail_message);
        $mail_message = str_replace('<username>', $username, $mail_message);
        $mail_message = str_replace('<password>', $password1, $mail_message);
        $mail_message = str_replace('<login_url>', $pun_config['o_base_url'].'/login.php', $mail_message);
        $mail_message = str_replace('<board_mailer>', $pun_config['o_board_title'].' '.$lang_common['Mailer'], $mail_message);

But, with a little modification

    $replace = array('<base_url>', '<username>', '<password>', '<login_url>', '<board_mailer>');
    $replace1 = array($pun_config['o_base_url'].'/', $username, $password1, $pun_config['o_base_url'].'/login.php', $pun_config['o_board_title'].' '.$lang_common['Mailer']);
    $mail_message = str_replace($replace, $replace1, $mail_message);

no ?

(sorry, i'm french and i'm a big sh** in english tongue)

bye !

knj wrote:

auriez vous l'obligeance de m'expliquer ces quelques lignes,
elles sont tirées du fichier login.php , à la racine, lignes 49 à 65

    if (!empty($db_password_hash))
    {
                // Le mot de passe contenu dans la base de donnée est t'il hasher avec sha1 ? Vrai / Faux
        $sha1_in_db = (strlen($db_password_hash) == 40) ? true : false;
        
                // Les fonctions sha1 ou mhash sont t'elle disponible sur ce serveur ? Vrai / Faux
                $sha1_available = (function_exists('sha1') || function_exists('mhash')) ? true : false;

                 // Le mot de passe du formulaire va étre modifié suivant le resultat de $sha1_availabke, si il est égal à true alors il va étre transformé en sha1 SINON en md5 (mais ca c'est une fonction contenu dans un autre fichier qui le fait)
        $form_password_hash = pun_hash($form_password);    // This could result in either an SHA-1 or an MD5 hash (depends on $sha1_available)
                
                // Si le mot de passe de la bdd est hasher en sha1 et qu'il est égal a celui du formulaire alors on authorise l'identification
        if ($sha1_in_db && $sha1_available && $db_password_hash == $form_password_hash)
            $authorized = true;
                // Ou sinon, si le mot de passe de la base de donnée n'est pas hasher en sha1 alors il est en md5, donc on verifie si il est égal à celui du formulaire hasher en md5 alors on authorise l'identificaiton
        else if (!$sha1_in_db && $db_password_hash == md5($form_password))
        {
            $authorized = true;
                        // Dans ce cas, le mot de passe contenu dans la bdd est hasher en md5, on va le rehasher en sha1 vu que sha1 est disponible
            if ($sha1_available)    // There's an MD5 hash in the database, but SHA1 hashing is available, so we update the DB
                                 // On met à jour la base de donnée avec le mot de passe de l'utilisateur rehasher en sha1
                $db->query('UPDATE '.$db->prefix.'users SET password=\''.$form_password_hash.'\' WHERE id='.$user_id) or error('Unable to update user password', __FILE__, __LINE__, $db->error());
        }
    }

~

Pour répondre à ta question, punbb utilise les cookies.

Ligne 92 de login.php pour le logout, ligne 75 du même fichier pour le login smile

config.php pour les variables de cookie.. c'est franchement pas dur à trouver smile