qu'est ce qu'elle fait la fonction set_config() ...

Aucun support dans ce forum!

Modérateur: Equipe

Règles du forum
Rappel: Conditions générales d'utilisation de phpBB-fr.com

Attention, aucun support n'est donné dans ce forum.

qu'est ce qu'elle fait la fonction set_config() ...

Messagepar kata001 » 05 Mar 2009 à 23:26

Bonjour tout le monde,
j'ai essayé de comprendre le rôle de la fonction set_config() dans "includes/functions.php -> line 138" mais j'ai pas réussi ... s'il y a quelqu'un qui pourrait me donner un coup de main ... je serais très reconnaissant.

Merci d'avance.
kata001
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: 05 Mar 2009 à 16:44

Re: qu'est ce qu'elle fait la fonction set_config() ...

Messagepar lolovoisin » 05 Mar 2009 à 23:38

bonsoir,

a priori de ce que j'en ai vu, elle permet de remplir (voir modifier) la table phpbb_config en fonction des paramètres rentrés.
http://www.lolovoisin.com : Blog, trucs, astuces et tutos phpbb3, hébergements, débian

Ceux qui échouent trouvent des excuses, ceux qui réussissent trouvent les moyens
Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
Avatar de l’utilisateur
lolovoisin
Rugbix ³
 
Messages: 37250
Inscription: 04 Mai 2006 à 12:16
Localisation: Dans la BDD ...

Re: qu'est ce qu'elle fait la fonction set_config() ...

Messagepar kata001 » 05 Mar 2009 à 23:49

oui cela je l'avais compris ... j'ai compris qu'elle modifie des valeurs dans la table phpbb_config. mais ce que je comprends pas c'est d'où ça sort ces valeurs là ( les valeurs qu'on envois à la BDD ) ... et à quoi correspondent les valeurs : config_name, config_value, is_dynamic.
En fait je ne comprends pas l'interet de cette fonction ... mais je comprends comment elle fonctionne ...
kata001
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: 05 Mar 2009 à 16:44

Re: qu'est ce qu'elle fait la fonction set_config() ...

Messagepar ErnadoO » 06 Mar 2009 à 00:00

C'est une fonction qui met à jour les données de la tables phpbb_config, qui est constitué des 3 champs que tu cites:

config_name: le nom de l'option
config_value: sa valeur
is_dynamic: 0 pour utiliser sa valeur en cache, 0 pour utiliser la valeur présente dans la table, à chaque fois qu'elle est appelée.

Par exemple si tu décide d'activer la confirmation visuelle sur ton forum (via ton acp), et bien
Code: Tout sélectionner
set_config('annu_visual_confirm', 1, 0) 
sera éxécutée
ErnadoO
 

Re: qu'est ce qu'elle fait la fonction set_config() ...

Messagepar kata001 » 06 Mar 2009 à 18:25

Ok je comprends mieux maintenant ... je vous remercie pour votre aide
kata001
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: 05 Mar 2009 à 16:44

Re: qu'est ce qu'elle fait la fonction set_config() ...

Messagepar kata001 » 07 Mar 2009 à 10:58

Donc si j'ai bien compris ce que vous me dites la fonction set_config() n'intervient pas dans l'encodage de mot de passe ... ?
Pourtant la fonction phpbb_hash() appelle la fonction unique_id() qui appelle la fonction set_config() ...
kata001
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: 05 Mar 2009 à 16:44

Re: qu'est ce qu'elle fait la fonction set_config() ...

Messagepar kata001 » 07 Mar 2009 à 11:20

RE
Est ce que vous saurez qu'est ce qu'on met dans la la table "phpbb_config" , grace à la fonction set_config(), AU MOMENT de l'installation du forum ... ( la fonction set_config est appelé par la fonction unique_id() dans le fichier "includes/functions.php -> line 138"
kata001
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: 05 Mar 2009 à 16:44

Re: qu'est ce qu'elle fait la fonction set_config() ...

Messagepar Ariaswari » 07 Mar 2009 à 11:54

Bonjour,

Merci de ne pas poster deux messages à la suite, la fonction éditer permet d'y remédier.

A l'installation, ce sont des requêtes SQL qui remplissent la table phpbb_config, comme celle ci :
Code: Tout sélectionner
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '3.0.4');
RTFM - les docs de phpbb-fr"Le temps de la réflexion est une économie de temps."
Avatar de l’utilisateur
Ariaswari
Supporter
Supporter
 
Messages: 2704
Inscription: 18 Oct 2007 à 19:43
Localisation: CH

Re: qu'est ce qu'elle fait la fonction set_config() ...

Messagepar kata001 » 07 Mar 2009 à 12:20

Merci de votre reponse Ariaswari !!!
encore une question ...
au moment d'encoder le mot de passe ( quand on appelle la fonction phpbb_hash() ), qu'est ce qu'on met dans la table " phpbb_config " ?
parce que la fonction phpbb_hash() appelle la fonction unique_id() et cette derniere appelle set_config() ( phpbb_hash()--> unique_id() --> set_config() ) ... c'est à ce moment je ne comprends pas ce qu'on met dans la table ...
Parce que je suis entrain de faire une application sur phpBB3 et j'ai besoin d'encoder des mots de passe et je voudrais comprendre si cette fonction ( set_config ) est importante au moment d'encodage ...
Merci d'avance
kata001
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: 05 Mar 2009 à 16:44

Re: qu'est ce qu'elle fait la fonction set_config() ...

Messagepar ErnadoO » 07 Mar 2009 à 17:19

Un examen attentif de unique_id() te donnera la réponse
ErnadoO
 

Re: qu'est ce qu'elle fait la fonction set_config() ...

Messagepar kata001 » 07 Mar 2009 à 20:53

J'ai essayé mais je ne comprends pas à quoi ça correspond la variable globale $config parce que dans la fonction on fait $config['rand_seed'] ... mais je sais pas à quoi ça correspond ces valeurs ...
Donc si vous savez où sont créés les variables globales vous me le dites svp ...
kata001
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: 05 Mar 2009 à 16:44

Re: qu'est ce qu'elle fait la fonction set_config() ...

Messagepar ErnadoO » 07 Mar 2009 à 23:21

$config est un tableau qui contient touts les enregistrements de la table phpbb_config

$config['rand_seed'] retourne la valeur du champ rand_seed de cette table.

global c'est autre chose, c'est un mot clé pour "importer" des variables à l'intérieur d'une fonction qui utilisent ces variables.
ErnadoO
 

Re: qu'est ce qu'elle fait la fonction set_config() ...

Messagepar kata001 » 08 Mar 2009 à 00:24

n'y a pas de champs "rand_seed" dans la table phpbb_config ... alors je ne pense pas que cela correspond aux champs de la table ...
et pour moi le mot clé global pour declarer des variables globales qu'on peut utiliser partout dans un programme php ...
PS : je suis programmeur JAVA, je connais moins PHP mais je pense que principe reste le même.
Sinon s'il y a quelqu'un qui a bien compris le fonctionnement de la fonction unique_id() et les valeurs qu'on met dans la base de donnée quand on appelle la fonction set_config() à partir de la fonction unique_id() ...
I need your help !!!
merci d'avance
kata001
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: 05 Mar 2009 à 16:44

Re: qu'est ce qu'elle fait la fonction set_config() ...

Messagepar ErnadoO » 08 Mar 2009 à 01:36

Euh je sais encore de quoi je parle hein, si je te dis que $config contient les données de la table phpbb_config, c'est que c'est le cas depuis le temps que je fais du support et que je code des mods, je pense connaitre le fonctionnement de phpbb :roll:
Au lieu de "penser que" sous prétexte que tu ne trouves pas, tu pourrais te remettre en question.

Mais comme c'est trop dur pour toi, je vais t'en apporter le preuve:
Code: Tout sélectionner
            $sql = 'SELECT config_name, config_value
                FROM '
 . CONFIG_TABLE . '
                WHERE is_dynamic = 1'
;
            $result = $db->sql_query($sql);

            while ($row = $db->sql_fetchrow($result))
            {
                $config[$row['config_name']] = $row['config_value'];
            }
            $db->sql_freeresult($result); 
code provenant de includes/cache.php


Passons maintenant à unique_id():
Code: Tout sélectionner
function unique_id($extra = 'c')
{
    static $dss_seeded = false;
    global $config;

    $val = $config['rand_seed'] . microtime();
    $val = md5($val);
    $config['rand_seed'] = md5($config['rand_seed'] . $val . $extra);

    if ($dss_seeded !== true && ($config['rand_seed_last_update'] < time() - rand(1,10)))
    {
        set_config('rand_seed', $config['rand_seed'], true);
        set_config('rand_seed_last_update', time(), true);
        $dss_seeded = true;
    }

    return substr($val, 4, 16);
}
 



, comme son nom l'indique, retourne un id unique, basé en partie, sur le contenu du champ rand_seed de phpbb_config auquel on concatène le temps actuelle en microseconde et on fait le md5 de tout ça.
Ensuite on concatène le champ rand_seed avec la chaine précédemment obtenue puis avec le caractère 'c', et si la condition if est vraie, on injecte le md5 de tout ça dans le champ rand_seed via set_config.
ErnadoO
 


Retourner vers Forums de discussions

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

Partenaires : phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB3 Styles • phpBB podpora • phpBB Portugal    Liens : Net Avenir • PromoBenef • Ticket Gagnant