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
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.