$v) { if (is_numeric($k)) $output .= $indent.' '.$k.' => '; else $output .= $indent.' \''.str_replace('\'', '\\\'', str_replace('\\', '\\\\', $k)).'\' => '; if (is_array($v)) $output .= var_export($v, true, $indent.' '); else { if (gettype($v) != 'string' && !empty($v)) $output .= $v.','."\n"; else $output .= '\''.str_replace('\'', '\\\'', str_replace('\\', '\\\\', $v)).'\','."\n"; } } $output .= ($indent != '') ? $indent.'),'."\n" : ')'; } else $output = $args[0]; if ($args[1] == true) return $output; else echo $output; } } // // Generate the config cache PHP script // function generate_config_cache() { global $db; // Get the forum config from the DB $result = $db->query('SELECT * FROM '.$db->prefix.'config', true) or error('Impossible de retrouver la configuration des forums', __FILE__, __LINE__, $db->error()); while ($cur_config_item = $db->fetch_row($result)) $output[$cur_config_item[0]] = $cur_config_item[1]; // Output config as PHP code $fh = @fopen(PUN_ROOT.'cache/cache_config.php', 'wb'); if (!$fh) error('Impossible d\'écrire le fichier cache de configuration dans le répertoire cache. Veuillez vous assurer que PHP a l\'accès en écrire au répertoire \'cache\'', __FILE__, __LINE__); fwrite($fh, ''); fclose($fh); } // // Generate the bans cache PHP script // function generate_bans_cache() { global $db; // Get the ban list from the DB $result = $db->query('SELECT * FROM '.$db->prefix.'bans', true) or error('Impossible de retrouver la liste de bannissements', __FILE__, __LINE__, $db->error()); $output = array(); while ($cur_ban = $db->fetch_assoc($result)) $output[] = $cur_ban; // Output ban list as PHP code $fh = @fopen(PUN_ROOT.'cache/cache_bans.php', 'wb'); if (!$fh) error('Impossible d\'écrire le fichier cache de bannissements dans le répertoire cache. Veuillez vous assurer que PHP a l\'accès en écrire au répertoire \'cache\'', __FILE__, __LINE__); fwrite($fh, ''); fclose($fh); } // // Generate the ranks cache PHP script // function generate_ranks_cache() { global $db; // Get the rank list from the DB $result = $db->query('SELECT * FROM '.$db->prefix.'ranks ORDER BY min_posts', true) or error('Impossible de retrouver la liste des rangs utilisateurs', __FILE__, __LINE__, $db->error()); $output = array(); while ($cur_rank = $db->fetch_assoc($result)) $output[] = $cur_rank; // Output ranks list as PHP code $fh = @fopen(PUN_ROOT.'cache/cache_ranks.php', 'wb'); if (!$fh) error('Impossible d\'écrire le fichier de cache de rangs utilisateurs dans le répertoire cache. Veuillez vous assurer que PHP a l\'accès en écrire au répertoire \'cache\'', __FILE__, __LINE__); fwrite($fh, ''); fclose($fh); } // // Generate quickjump cache PHP scripts // function generate_quickjump_cache($group_id = false) { global $db, $lang_common, $pun_user; // If a group_id was supplied, we generate the quickjump cache for that group only if ($group_id !== false) $groups[0] = $group_id; else { // A group_id was now supplied, so we generate the quickjump cache for all groups $result = $db->query('SELECT g_id FROM '.$db->prefix.'groups') or error('Impossible de retrouver la liste des groupes utilisateurs', __FILE__, __LINE__, $db->error()); $num_groups = $db->num_rows($result); for ($i = 0; $i < $num_groups; ++$i) $groups[] = $db->result($result, $i); } // Loop through the groups in $groups and output the cache for each of them while (list(, $group_id) = @each($groups)) { // Output quickjump as PHP code $fh = @fopen(PUN_ROOT.'cache/cache_quickjump_'.$group_id.'.php', 'wb'); if (!$fh) error('Impossible d\'écrire le fichier cache de saut rapide de forums dans le répertoire cache. Veuillez vous assurer que PHP a l\'accès en écrire au répertoire \'cache\'', __FILE__, __LINE__); $output = ''; $output .= "\t\t\t\t".'
'."\n\t\t\t\t\t".'
'."\n\t\t\t\t".'
'."\n"; fwrite($fh, $output); fclose($fh); } }