diff options
Diffstat (limited to 'phpBB/develop/create_variable_overview.php')
-rw-r--r-- | phpBB/develop/create_variable_overview.php | 547 |
1 files changed, 0 insertions, 547 deletions
diff --git a/phpBB/develop/create_variable_overview.php b/phpBB/develop/create_variable_overview.php deleted file mode 100644 index 3782f53e4c..0000000000 --- a/phpBB/develop/create_variable_overview.php +++ /dev/null @@ -1,547 +0,0 @@ -<?php -// ------------------------------------------------------------- -// -// $Id$ -// -// FILENAME : create_variable_overview.php -// STARTED : Fri Aug 15 2003 -// COPYRIGHT : © 2003 phpBB Group -// WWW : http://www.phpbb.com/ -// LICENCE : GPL vs2.0 [ see /docs/COPYING ] -// -// ------------------------------------------------------------- - -/* - This script generates an index of some template vars and their use within the templates. - It writes down all language variables used by various templates. -*/ - -// -// Security message: -// -// This script is potentially dangerous. -// Remove or comment the next line (die(".... ) to enable this script. -// Do NOT FORGET to either remove this script or disable it after you have used it. -// -die("Please read the first lines of this script for instructions on how to enable it"); - -$directory = '../styles/subSilver/template/'; -$ext = 'html'; -$store_dir = '../store/'; - -$phpfiles_directories = array('../', '../includes/', '../includes/acm/', '../includes/auth/', '../includes/mcp/', '../includes/ucp/'); -// Template Files beginning with this names are merged together -$merge = array('gcp', 'login', 'mcp', 'memberlist', 'posting', 'ucp'); - -if (!is_writable($store_dir)) -{ - die("Directory $store_dir is not writable!"); -} - -$contents = implode('', file('../adm/subSilver.css', filesize('../adm/subSilver.css'))); -$fp = fopen($store_dir . 'subSilver.css', 'w'); -fwrite($fp, $contents); -fclose($fp); - -$html_skeleton = ' -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<link rel="stylesheet" href="subSilver.css" type="text/css"> -<style type="text/css"> -<!-- -th { background-image: url(\'cellpic3.gif\') } -td.cat { background-image: url(\'cellpic1.gif\') } -//--> -</style> -<title>{FILENAME}</title> -</head> -<body> - -<table width="100%" cellspacing="0" cellpadding="0" border="0"> - <tr> - <td><img src="header_left.jpg" width="200" height="60" alt="phpBB Logo" title="phpBB Logo" border="0"/></td> - <td width="100%" background="header_bg.jpg" height="60" align="right" nowrap="nowrap"><span class="maintitle">File {FILENAME}</span> </td> - </tr> -</table> - -<table width="95%" cellspacing="0" cellpadding="0" border="0" align="center"> - <tr> - <td><br clear="all" /> - -'; -$html_skeleton .= '<br><a href="./index.html" class="gen">Back to Contents</a><br><br>'; -$html_skeleton .= '<br><a href="#lang" class="gen">Language Variables</a> :: <a href="#includes" class="gen">Includes</a> :: <a href="#cond" class="gen">Conditionals</a><br><a href="#remain" class="gen">Remaining Vars</a> :: <a href="#usedby" class="gen">phpBB File Usage</a> :: <a href="#ref" class="gen">References</a>'; -$html_skeleton .= '<br><br><a name="lang"></a><b>Language Variables</b><br><br>{LANGUAGE_VARIABLES}'; -$html_skeleton .= '<br><br><a name="includes"></a><b>Included Files</b><br><br>{INCLUDES}'; -$html_skeleton .= '<br><br><a name="cond"></a><b>Used Conditionals</b><br><br>{CONDITIONALS}'; -$html_skeleton .= '<br><br><a name="remain"></a><b>Remaining Vars used</b><br><br>{REMAINING_VARS}'; -$html_skeleton .= '<br><br><a name="usedby"></a><b>This Template File is used by the following phpBB Files</b><br><br>{USED_BY}'; -$html_skeleton .= '<br><br><a name="ref"></a><b>References: </b>{SEE_FILES}'; - -//$html_skeleton .= "</body>\n</html>\n"; - -$html_skeleton .= ' -<br><br> -<div class="copyright" align="center">Powered by phpBB 2.2 © <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB Group</a>, 2003</div> - - <br clear="all" /></td> - </tr> -</table> - -</body> -</html> -'; - -// Open Language File -include('../language/en/lang_main.php'); -include('../language/en/lang_admin.php'); - -$files_to_parse = $php_files = array(); - -$dhandler = opendir($directory); -if (!$dhandler) -{ - die("Unable to open $directory"); -} - -$num = 0; -while ($file = readdir($dhandler)) -{ - if (is_file($directory . $file) && preg_match('#\.' . $ext . '$#i', $file)) - { - $files_to_parse[$num]['filename'] = $directory . $file; - $files_to_parse[$num]['single_filename'] = $file; - $files_to_parse[$num]['destfile'] = str_replace(".{$ext}", '', $file) . '_' . $num . '.html'; - $file_to_destfile[$file] = $files_to_parse[$num]['destfile']; - $num++; - } -} -closedir($dhandler); - -$num = 0; -foreach ($phpfiles_directories as $directory) -{ - $dhandler = opendir($directory); - if (!$dhandler) - { - die("Unable to open $directory"); - } - - while ($file = readdir($dhandler)) - { - if (is_file($directory . $file) && preg_match('#\.php$#i', $file)) - { - $php_files[$num]['filename'] = $directory . $file; - $php_files[$num]['single_filename'] = $file; - $num++; - } - } - closedir($dhandler); -} - -$php_files_includes = $lang_references = array(); - -//$php_files_includes['viewtopic_attach_body.html'][0] = filename - -echo '<br>Parsing PHP Files'; - -// Parse PHP Files and get our filenames -foreach ($php_files as $file_num => $data) -{ - echo '.'; - flush(); - $contents = implode('', file($data['filename'], filesize($data['filename']))); - - $html_files = array(); - preg_match_all('#([a-zA-Z0-9\-_]*?)\.' . $ext . '#s', $contents, $html_files); - $html_files = array_unique($html_files[1]); - - foreach ($html_files as $html_file) - { - $html_file = trim($html_file); - if ($html_file != '') - { - $php_files_includes[$html_file . '.' . $ext][] = $data['filename']; - } - } -} - -echo '<br>Parsing HTML Files'; -foreach ($files_to_parse as $file_num => $data) -{ - echo '.'; - flush(); - $contents = implode('', file($data['filename'], filesize($data['filename']))); - - // Language Variables -> [0]:tpl [1]:lang - $lang_vars = array(); - preg_match_all('#{L_([a-z0-9\-_]*?)\}#is', $contents, $lang_vars); - $contents = preg_replace('#{L_([a-z0-9\-_]*?)\}#is', '', $contents); - $lang_vars[0] = array_unique($lang_vars[0]); - $lang_vars[1] = array_unique($lang_vars[1]); - - // Includes - $includes = array(); - preg_match_all('#<!-- INCLUDE ([a-zA-Z0-9\_\-\+\.]+?) -->#s', $contents, $includes); - $contents = preg_replace('#<!-- INCLUDE ([a-zA-Z0-9\_\-\+\.]+?) -->#', '', $contents); - $includes = $includes[1]; - $includes = array_unique($includes); - - // IF Conditions - $switches = array(); - preg_match_all('#<!-- [IF]|[ELSEIF] ([a-zA-Z0-9\-_\.]+?) (.*?)?[ ]?-->#', $contents, $switches); - $contents = preg_replace('#<!-- [IF]|[ELSEIF] ([a-zA-Z0-9\-_]) (.*?)?[ ]?-->#s', '', $contents); - $switches[0] = array_unique($switches[1]); // No resorting please - $switches[1] = $switches[2]; - unset($switches[2]); - - // Remaining Vars - $remaining_vars = array(); - preg_match_all('#{([a-z0-9\-_\.]*?)\}#is', $contents, $remaining_vars); - $contents = preg_replace('#{([a-z0-9\-_]*?)\}#is', '', $contents); - $remaining_vars = array_unique($remaining_vars[1]); - sort($remaining_vars, SORT_STRING); - - // Now build the filename specific site - $fp = fopen($store_dir . $data['destfile'], 'w'); - $html_data = $html_skeleton; - - $html_data = str_replace('{FILENAME}', $data['single_filename'], $html_data); - - // Write up the Language Variables - if (count($lang_vars[0])) - { - $lang_data = '<ul>'; - for ($num = 0; $num <= count($lang_vars[0]); $num++) - { - $var = $lang_vars[0][$num]; - if ($var != '') - { - $_var = str_replace(array('{', '}'), array('', ''), $var); - $lang_references[$_var][] = $data['single_filename']; - $lang_data .= '<li>' . $var . '<br>' . "\n" . ((isset($lang[$_var])) ? htmlspecialchars(str_replace("\\'", "'", $lang[$_var])) : '<span style="color:red">No Language Variable available</span>') . '<br></li><br>' . "\n"; - } - } - $lang_data .= '</ul>'; - } - else - { - $lang_data = '<b>NONE</b><br>' . "\n"; - } - - $html_data = str_replace('{LANGUAGE_VARIABLES}', $lang_data, $html_data); - - // Write up the Includes - echo '.'; - flush(); - if (count($includes)) - { - $includes_data = '<ul>'; - $see_files = ''; - for ($num = 0; $num <= count($includes); $num++) - { - $var = $includes[$num]; - if ($var != '') - { - $includes_data .= '<li><a href="./' . $file_to_destfile[$var] . '" class="gen">' . $var . '</a></li><br>' . "\n"; - $see_files .= ($see_files != '') ? ' :: ' : ''; - $see_files .= '<a href="./' . $file_to_destfile[$var] . '" class="gen">' . $var . '</a>'; - } - } - $includes_data .= '</ul>'; - } - else - { - $includes_data = '<b>NONE</b><br>' . "\n"; - $see_files = '<b>NONE</b>'; - } - - $html_data = str_replace('{INCLUDES}', $includes_data, $html_data); - $html_data = str_replace('{SEE_FILES}', $see_files, $html_data); - - // Write up Conditionals - echo '.'; - flush(); - if (count($switches[0])) - { - $conditionals = '<ul>'; - for ($num = 0; $num <= count($switches[0]); $num++) - { - $var = trim($switches[0][$num]); - if ($var != '') - { - if ($var == 'not') - { - $conditionals .= '<li>' . trim($switches[1][$num]) . '<br><b>Negation</b><br>' . "\n"; - $block_var = explode('.', trim($switches[1][$num])); - unset($block_var[0]); - } - else - { - $conditionals .= '<li>' . $var . ((trim($switches[1][$num]) != '') ? '<br>' . "\n" . '<i>Compared with</i> -> <b>' . trim($switches[1][$num]) . '</b>' : '') . '<br>' . "\n"; - $block_var = explode('.', $var); - unset($block_var[count($block_var)-1]); - } - - if (count($block_var)) - { - for ($_num = count($block_var)-1; $_num >= 0; $_num--) - { - $conditionals .= ($_num == count($block_var)-1) ? '<i>Element of Block</i> -> <b>' . $block_var[$_num] . '</b><br>' . "\n" : '<i>...which is an element of</i> -> <b>' . $block_var[$_num] . '</b><br>' . "\n"; - } - } - $conditionals .= '<br></li>' . "\n"; - } - } - $conditionals .= '</ul>'; - } - else - { - $conditionals = '<b>NONE</b><br>' . "\n"; - } - - $html_data = str_replace('{CONDITIONALS}', $conditionals, $html_data); - - // Write up Remaining Vars - echo '.'; - flush(); - if (count($remaining_vars)) - { - $remaining = '<ul>'; - for ($num = 0; $num <= count($remaining_vars); $num++) - { - $var = trim($remaining_vars[$num]); - if ($var != '') - { - $remaining .= '<li>' . $var . '<br>' . "\n"; - $block_var = explode('.', $var); - unset($block_var[count($block_var)-1]); - - if (count($block_var)) - { - for ($_num = count($block_var)-1; $_num >= 0; $_num--) - { - $remaining .= ($_num == count($block_var)-1) ? '<i>Element of Block</i> -> <b>' . $block_var[$_num] . '</b><br>' . "\n" : '<i>...which is an element of</i> -> <b>' . $block_var[$_num] . '</b><br>' . "\n"; - } - } - $remaining .= '<br></li>' . "\n"; - } - } - $remaining .= '</ul>'; - } - else - { - $remaining = '<b>NONE</b><br>' . "\n"; - } - - $html_data = str_replace('{REMAINING_VARS}', $remaining, $html_data); - - if (isset($php_files_includes[$data['single_filename']]) && count($php_files_includes[$data['single_filename']])) - { - $usedby = '<ul>'; - foreach ($php_files_includes[$data['single_filename']] as $php_filename) - { - $usedby .= '<li>' . str_replace('../', '', $php_filename) . '</li>'; - } - $usedby .= '</ul>'; - } - else - { - $usedby = '<b>NONE</b><br>' . "\n"; - } - - $html_data = str_replace('{USED_BY}', $usedby, $html_data); - - fwrite($fp, $html_data); - fclose($fp); -} - -echo '<br>Store Files'; - -$fp = fopen($store_dir . 'index.html', 'w'); - -$html_data = ' -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<link rel="stylesheet" href="subSilver.css" type="text/css"> -<style type="text/css"> -<!-- -th { background-image: url(\'cellpic3.gif\') } -td.cat { background-image: url(\'cellpic1.gif\') } -//--> -</style> -<title>Contents</title> -</head> -<body> - -<table width="100%" cellspacing="0" cellpadding="0" border="0"> - <tr> - <td><img src="header_left.jpg" width="200" height="60" alt="phpBB Logo" title="phpBB Logo" border="0"/></td> - <td width="100%" background="header_bg.jpg" height="60" align="right" nowrap="nowrap"><span class="maintitle">Available Template Files</span> </td> - </tr> -</table> - -<table width="95%" cellspacing="0" cellpadding="0" border="0" align="center"> - <tr> - <td><br clear="all" /> -<br>This Style Document is 100% auto-generated... no human interaction included. :D<br> -<h2>phpBB 2.2 Template</h2> -<br> -<ol> -'; - -sort($files_to_parse); -foreach ($files_to_parse as $file_num => $data) -{ - echo '.'; - flush(); - $var = $data['single_filename']; - $html_data .= '<li><a href="./' . $file_to_destfile[$var] . '" class="gen">' . $var . '</a></li><br>' . "\n"; -} - -$html_data .= '<br><li><a href="./lang_index.html" class="gen">Appendix A: Language Variable Index</a></li><br>'; - -$html_data .= ' -</ol><br><br> -<div class="copyright" align="center">Powered by phpBB 2.2 © <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB Group</a>, 2003</div> - - <br clear="all" /></td> - </tr> -</table> - -</body> -</html> -'; - -fwrite($fp, $html_data); -fclose($fp); - -// Not only write down all language files, place them into a specific array, named by the template file -// All Language vars assigned to more than one template will be placed into a common file -$entry = array(); -$common_fp = fopen($store_dir . 'lang_common.php', 'w'); -fwrite($common_fp, "<?php\n\n \$lang = array(\n"); - -$fp = fopen($store_dir . 'lang_index.html', 'w'); - -$html_data = ' -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<link rel="stylesheet" href="subSilver.css" type="text/css"> -<style type="text/css"> -<!-- -th { background-image: url(\'cellpic3.gif\') } -td.cat { background-image: url(\'cellpic1.gif\') } -//--> -</style> -<title>Appendix A :: Language Variable Index</title> -</head> -<body> - -<table width="100%" cellspacing="0" cellpadding="0" border="0"> - <tr> - <td><img src="header_left.jpg" width="200" height="60" alt="phpBB Logo" title="phpBB Logo" border="0"/></td> - <td width="100%" background="header_bg.jpg" height="60" align="right" nowrap="nowrap"><span class="maintitle">Language Variable Index</span> </td> - </tr> -</table> - -<table width="95%" cellspacing="0" cellpadding="0" border="0" align="center"> - <tr> - <td><br clear="all" /> -<br><a href="./index.html" class="gen">Back to Contents</a><br><br> -<br> -'; - -echo '<br>Write Language Files'; - -asort($lang_references); -ksort($lang_references); -$_index = ''; -$old_char = ''; -foreach ($lang_references as $lang_var => $filenames) -{ - $var = preg_replace('#^L_(.*?)#', '\1', $lang_var); - $char = $var{0}; - if ($old_char != $char) - { - $old_char = $char; - $_index .= ($_index != '') ? ' :: ' : ''; - $_index .= '<a href="#' . $char . '" class="gen"><b>' . $char . '</b></a>'; - } -} - -$html_data .= $_index . '<br><br><br>'; -$old_char = ''; -foreach ($lang_references as $lang_var => $filenames) -{ - echo '.'; - flush(); - $var = preg_replace('#^L_(.*?)#', '\1', $lang_var); - $char = $var{0}; - if ($old_char != $char) - { - $old_char = $char; - $html_data .= '<br><hr><br><a name="' . $char . '"></a><h2>Letter ' . $char . '</h2><br><br>'; - } - - $html_data .= '<b>' . $lang_var . '</b><ul>'; - - if (sizeof($filenames) != 1) - { - fwrite($common_fp, (($entry['common']) ? ",\n" : '') . "\t'$var' => '" . $lang[$var] . "'"); - $entry['common'] = true; - } - else if (sizeof($filenames) == 1) - { - // Merge logical - hardcoded - $fname = (preg_match('#^(' . implode('|', $merge) . ')#', $filenames[0], $match)) ? $match[0] . '.php' : str_replace($ext, 'php', $filenames[0]); - - if (!$lang_fp[$fname]) - { - $lang_fp[$fname] = fopen($store_dir . 'lang_' . $fname, 'w'); - fwrite($lang_fp[$fname], "<?php\n\n\$lang = array(\n"); - $entry[$fname] = false; - } - fwrite($lang_fp[$fname], (($entry[$fname]) ? ",\n" : '') . "\t'$var' => '" . $lang[$var] . "'"); - $entry[$fname] = true; - } - - foreach ($filenames as $f_name) - { - $var = trim($f_name); - $html_data .= '<li><a href="./' . $file_to_destfile[$var] . '" class="gen">' . $var . '</a></li><br>' . "\n"; - } - $html_data .= '</ul><br><br>'; -} - -fwrite($common_fp, ")\n);\n?>"); -fclose($common_fp); - -foreach ($lang_fp as $filepointer) -{ - fwrite($filepointer, ")\n);\n?>"); - fclose($filepointer); -} - -$html_data .= ' -<br><br> -<div class="copyright" align="center">Powered by phpBB 2.2 © <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB Group</a>, 2003</div> - - <br clear="all" /></td> - </tr> -</table> - -</body> -</html> -'; - -fwrite($fp, $html_data); -fclose($fp); - -echo '<br>Finished!'; -flush(); - -?>
\ No newline at end of file |