diff options
author | Paul S. Owen <psotfx@users.sourceforge.net> | 2001-07-24 11:38:36 +0000 |
---|---|---|
committer | Paul S. Owen <psotfx@users.sourceforge.net> | 2001-07-24 11:38:36 +0000 |
commit | 66f3131922c0aedcb317f389c65a6e7f22e050ab (patch) | |
tree | f66a9093c7712bf34f5ec70683136bd274695ecf | |
parent | ee6e14617ece0359a818c16765705ad930c020c4 (diff) | |
download | forums-66f3131922c0aedcb317f389c65a6e7f22e050ab.tar forums-66f3131922c0aedcb317f389c65a6e7f22e050ab.tar.gz forums-66f3131922c0aedcb317f389c65a6e7f22e050ab.tar.bz2 forums-66f3131922c0aedcb317f389c65a6e7f22e050ab.tar.xz forums-66f3131922c0aedcb317f389c65a6e7f22e050ab.zip |
Replaced
git-svn-id: file:///svn/phpbb/trunk@740 89ea8834-ac86-4346-8a33-228a782c2dd0
-rw-r--r-- | phpBB/includes/error.php | 112 | ||||
-rw-r--r-- | phpBB/includes/template.inc | 436 | ||||
-rw-r--r-- | phpBB/templates/PSO/loginbox.tpl | 3 |
3 files changed, 0 insertions, 551 deletions
diff --git a/phpBB/includes/error.php b/phpBB/includes/error.php deleted file mode 100644 index fc01406f89..0000000000 --- a/phpBB/includes/error.php +++ /dev/null @@ -1,112 +0,0 @@ -<?php -/*************************************************************************** - * error.php - * ------------------- - * begin : Saturday, Feb 13, 2001 - * copyright : (C) 2001 The phpBB Group - * email : support@phpbb.com - * - * $Id$ - * - * - ***************************************************************************/ - - -/*************************************************************************** - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * - ***************************************************************************/ - -function error_die($error_code, $error_msg = "", $line = "", $file = "") -{ - global $db, $template, $board_config, $theme, $lang, $phpEx, $phpbb_root_path; - - if(!defined("HEADER_INC")) - { - if(!empty($board_config['default_lang'])) - { - include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '.'.$phpEx); - } - else - { - include($phpbb_root_path . 'language/lang_english.'.$phpEx); - } - if(!$template) - { - $template = new Template($phpbb_root_path . "templates/Default"); - } - if(!$theme) - { - $theme = setuptheme(1); - } - include($phpbb_root_path . 'includes/page_header.'.$phpEx); - } - if(!$error_msg) - { - switch($error_code) - { - case GENERAL_ERROR: - if(!$error_msg) - { - $error_msg = "An Error Occured"; - } - if(!$message_title) - { - $message_title = "General Error"; - } - break; - - case SQL_CONNECT: - $message_title = "General Error"; - $error_msg = "Couldn't connect to database!"; - break; - - case BANNED: - $message_title = $lang['Information']; - $error_msg = "You have been banned from this forum."; - break; - - case SQL_QUERY: - break; - - case SESSION_CREATE: - $message_title = "General Error"; - $error_msg = "Error creating session<br>Could not log you in, please go back and try again."; - break; - - case NO_POSTS: - $message_title = $lang['Information']; - $error_msg = "There are no posts in this forum<br>Click on the <b>Post New Topic</b> link on this page to post one."; - break; - - case LOGIN_FAILED: - $message_title = $lang['Information']; - $error_msg = "Login Failed<br>You have specified an incorrect/inactive username or invalid password, please go back and try again."; - break; - } - } - if(DEBUG) - { - if($line != "" && $file != "") - $error_msg .= "<br /><br /><u>DEBUG INFO</u></br /><br>Line: ".$line."<br />File: ".$file; - } - - $template->set_filenames(array( - "message_body" => "error_body.tpl") - ); - $template->assign_vars(array( - "ERROR_MESSAGE" => $error_msg) - ); - $template->pparse("message_body"); - - include($phpbb_root_path . 'includes/page_tail.'.$phpEx); - - exit(); -} - -?>
\ No newline at end of file diff --git a/phpBB/includes/template.inc b/phpBB/includes/template.inc deleted file mode 100644 index 3e9c7d33d8..0000000000 --- a/phpBB/includes/template.inc +++ /dev/null @@ -1,436 +0,0 @@ -<?php -/*************************************************************************** - * template.inc - * ------------------- - * begin : Saturday, Feb 13, 2001 - * copyright : (C) 2001 The phpBB Group - * email : support@phpbb.com - * - * $Id$ - * - * - ***************************************************************************/ - -/*************************************************************************** - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * - ***************************************************************************/ - -/** - * Template class. By Nathan Codding of the phpBB group. - * The interface was originally inspired by PHPLib templates, - * and the template file formats are quite similar. - * - */ - -class Template { - var $classname = "Template"; - - // variable that holds all the data we'll be substituting into - // the compiled templates. - // ... - // This will end up being a multi-dimensional array like this: - // $this->_tpldata[block.][iteration#][child.][iteration#][child2.][iteration#][variablename] == value - // if it's a root-level variable, it'll be like this: - // $this->_tpldata[.][0][varname] == value - var $_tpldata = array(); - - // Hash of filenames for each template handle. - var $files = array(); - - // Root template directory. - var $root = ""; - - // this will hash handle names to the compiled code for that handle. - var $compiled_code = array(); - - // This will hold the uncompiled code for that handle. - var $uncompiled_code = array(); - - /** - * Constructor. Simply sets the root dir. - * - */ - function Template($root = ".") - { - $this->set_rootdir($root); - } - - /** - * Destroys this template object. Should be called when you're done with it, in order - * to clear out the template data so you can load/parse a new template set. - */ - function destroy() - { - $this->_tpldata = array(); - } - - /** - * Sets the template root directory for this Template object. - */ - function set_rootdir($dir) - { - if (!is_dir($dir)) - { - return false; - } - - $this->root = $dir; - return true; - } - - /** - * Sets the template filenames for handles. $filename_array - * should be a hash of handle => filename pairs. - */ - function set_filenames($filename_array) - { - if (!is_array($filename_array)) - { - return false; - } - - reset($filename_array); - while(list($handle, $filename) = each($filename_array)) - { - $this->files[$handle] = $this->make_filename($filename); - } - - return true; - } - - - /** - * Load the file for the handle, compile the file, - * and run the compiled code. This will print out - * the results of executing the template. - */ - function pparse($handle) - { - if (!$this->loadfile($handle)) - { - die("Template->pparse(): Couldn't load template file for handle $handle"); - } - - // actually compile the template now. - if (!isset($this->compiled_code[$handle]) || empty($this->compiled_code[$handle])) - { - // Actually compile the code now. - $this->compiled_code[$handle] = $this->compile($this->uncompiled_code[$handle]); - } - - // Run the compiled code. - eval($this->compiled_code[$handle]); - - return true; - } - - /** - * Inserts the uncompiled code for $handle as the - * value of $varname in the root-level. This can be used - * to effectively include a template in the middle of another - * template. - * Note that all desired assignments to the variables in $handle should be done - * BEFORE calling this function. - */ - function assign_var_from_handle($varname, $handle) - { - if (!$this->loadfile($handle)) - { - die("Template->assign_var_from_handle(): Couldn't load template file for handle $handle"); - } - - // Compile it, with the "no echo statements" option on. - $code = $this->compile($this->uncompiled_code[$handle], true); - // turn it into a variable assignment. - $code = '$_str = \'' . $code . '\';'; - - // evaluate the variable assignment. - eval($code); - - // assign the value of the generated variable to the given varname. - $this->assign_var($varname, $_str); - - return true; - } - - /** - * Block-level variable assignment. Adds a new block iteration with the given - * variable assignments. Note that this should only be called once per block - * iteration. - */ - function assign_block_vars($blockname, $vararray) - { - if (strstr($blockname, '.')) - { - // Nested block. - $blocks = explode('.', $blockname); - $blockcount = sizeof($blocks) - 1; - $str = '$this->_tpldata'; - for ($i = 0; $i < $blockcount; $i++) - { - $str .= '[\'' . $blocks[$i] . '.\']'; - eval('$lastiteration = sizeof(' . $str . ') - 1;'); - $str .= '[' . $lastiteration . ']'; - } - // Now we add the block that we're actually assigning to. - // We're adding a new iteration to this block with the given - // variable assignments. - $str .= '[\'' . $blocks[$blockcount] . '.\'][] = $vararray;'; - - // Now we evaluate this assignment we've built up. - eval($str); - } - else - { - // Top-level block. - // Add a new iteration to this block with the variable assignments - // we were given. - $this->_tpldata[$blockname . '.'][] = $vararray; - } - - return true; - } - - /** - * Root-level variable assignment. Adds to current assignments, overriding - * any existing variable assignment with the same name. - */ - function assign_vars($vararray) - { - reset ($vararray); - while (list($key, $val) = each($vararray)) - { - $this->_tpldata['.'][0][$key] = $val; - } - - return true; - } - - /** - * Root-level variable assignment. Adds to current assignments, overriding - * any existing variable assignment with the same name. - */ - function assign_var($varname, $varval) - { - $this->_tpldata['.'][0][$varname] = $varval; - - return true; - } - - - /** - * Generates a full path+filename for the given filename, which can either - * be an absolute name, or a name relative to the rootdir for this Template - * object. - */ - function make_filename($filename) - { - // Check if it's an absolute or relative path. - if (substr($filename, 0, 1) != '/') - { - $filename = $this->root . '/' . $filename; - } - - if (!file_exists($filename)) - { - die("Template->make_filename(): Error - file $filename does not exist"); - } - - return $filename; - } - - - /** - * If not already done, load the file for the given handle and populate - * the uncompiled_code[] hash with its code. Do not compile. - */ - function loadfile($handle) - { - // If the file for this handle is already loaded and compiled, do nothing. - if (isset($this->uncompiled_code[$handle]) && !empty($this->uncompiled_code[$handle])) - { - return true; - } - - // If we don't have a file assigned to this handle, die. - if (!isset($this->files[$handle])) - { - die("Template->loadfile(): No file specified for handle $handle"); - } - - $filename = $this->files[$handle]; - - $str = implode("", @file($filename)); - if (empty($str)) - { - die("Template->loadfile(): File $filename for handle $handle is empty"); - } - - $this->uncompiled_code[$handle] = $str; - - return true; - } - - - - /** - * Compiles the given string of code, and returns - * the result in a string. - * If "do_not_echo" is true, the returned code will not be directly - * executable, but can be used as part of a variable assignment - * for use in assign_code_from_handle(). - */ - function compile($code, $do_not_echo = false) - { - // replace \ with \\ and then ' with \'. - $code = str_replace('\\', '\\\\', $code); - $code = str_replace('\'', '\\\'', $code); - - // change template varrefs into PHP varrefs - - // This one will handle varrefs WITH namespaces - $varrefs = array(); - preg_match_all('#\{(([a-z0-9\-_]+?\.)+?)([a-z0-9\-_]+?)\}#is', $code, $varrefs); - $varcount = sizeof($varrefs[1]); - for ($i = 0; $i < $varcount; $i++) - { - $namespace = $varrefs[1][$i]; - $varname = $varrefs[3][$i]; - $new = $this->generate_block_varref($namespace, $varname); - - $code = str_replace($varrefs[0][$i], $new, $code); - } - - // This will handle the remaining root-level varrefs - $code = preg_replace('#\{([a-z0-9\-_]*?)\}#is', '\' . $this->_tpldata[\'.\'][0][\'\1\'] . \'', $code); - - // Break it up into lines. - $code_lines = explode("\n", $code); - - $block_nesting_level = 0; - $block_names = array(); - $block_names[0] = "."; - - // Second: prepend echo ', append ' . "\n"; to each line. - $line_count = sizeof($code_lines); - for ($i = 0; $i < $line_count; $i++) - { - $code_lines[$i] = chop($code_lines[$i]); - if (preg_match('#<!-- BEGIN (.*?) -->#', $code_lines[$i], $m)) - { - // We have the start of a block. - $block_nesting_level++; - $block_names[$block_nesting_level] = $m[1]; - - if ($block_nesting_level < 2) - { - // Block is not nested. - $code_lines[$i] = '$_' . $m[1] . '_count = sizeof($this->_tpldata[\'' . $m[1] . '.\']);'; - $code_lines[$i] .= "\n" . 'for ($_' . $m[1] . '_i = 0; $_' . $m[1] . '_i < $_' . $m[1] . '_count; $_' . $m[1] . '_i++)'; - $code_lines[$i] .= "\n" . '{'; - } - else - { - // This block is nested. - - // Generate a namespace string for this block. - $namespace = implode('.', $block_names); - // strip leading period from root level.. - $namespace = substr($namespace, 2); - // Get a reference to the data array for this block that depends on the - // current indices of all parent blocks. - $varref = $this->generate_block_data_ref($namespace, false); - // Create the for loop code to iterate over this block. - $code_lines[$i] = '$_' . $m[1] . '_count = sizeof(' . $varref . ');'; - $code_lines[$i] .= "\n" . 'for ($_' . $m[1] . '_i = 0; $_' . $m[1] . '_i < $_' . $m[1] . '_count; $_' . $m[1] . '_i++)'; - $code_lines[$i] .= "\n" . '{'; - } - } - else if (preg_match('#<!-- END (.*?) -->#', $code_lines[$i], $m)) - { - // We have the end of a block. - unset($block_names[$block_nesting_level]); - $block_nesting_level--; - $code_lines[$i] = '} // END ' . $m[1]; - } - else - { - // We have an ordinary line of code. - if (!$do_not_echo) - { - $code_lines[$i] = 'echo \'' . $code_lines[$i] . '\' . "\\n";'; - } - } - - } - - // Bring it back into a single string of lines of code. - $code = implode("\n", $code_lines); - - return $code ; - - } - - - /** - * Generates a reference to the given variable inside the given (possibly nested) - * block namespace. This is a string of the form: - * ' . $this->_tpldata['parent'][$_parent_i]['$child1'][$_child1_i]['$child2'][$_child2_i]...['varname'] . ' - * It's ready to be inserted into an "echo" line in one of the templates. - * NOTE: expects a trailing "." on the namespace. - */ - function generate_block_varref($namespace, $varname) - { - // Strip the trailing period. - $namespace = substr($namespace, 0, strlen($namespace) - 1); - - // Get a reference to the data block for this namespace. - $varref = $this->generate_block_data_ref($namespace, true); - // Prepend the necessary code to stick this in an echo line. - $varref = '\' . ' . $varref; - // Append the variable reference. - $varref .= '[\'' . $varname . '\'] . \''; - - return $varref; - - } - - - /** - * Generates a reference to the array of data values for the given - * (possibly nested) block namespace. This is a string of the form: - * $this->_tpldata['parent'][$_parent_i]['$child1'][$_child1_i]['$child2'][$_child2_i]...['$childN'] - * - * If $include_last_iterator is true, then [$_childN_i] will be appended to the form shown above. - * NOTE: does not expect a trailing "." on the blockname. - */ - function generate_block_data_ref($blockname, $include_last_iterator) - { - // Get an array of the blocks involved. - $blocks = explode(".", $blockname); - $blockcount = sizeof($blocks) - 1; - $varref = '$this->_tpldata'; - // Build up the string with everything but the last child. - for ($i = 0; $i < $blockcount; $i++) - { - $varref .= '[\'' . $blocks[$i] . '.\'][$_' . $blocks[$i] . '_i]'; - } - // Add the block reference for the last child. - $varref .= '[\'' . $blocks[$blockcount] . '.\']'; - // Add the iterator for the last child if requried. - if ($include_last_iterator) - { - $varref .= '[$_' . $blocks[$blockcount] . '_i]'; - } - - return $varref; - } - -} -?> diff --git a/phpBB/templates/PSO/loginbox.tpl b/phpBB/templates/PSO/loginbox.tpl deleted file mode 100644 index b897efe70f..0000000000 --- a/phpBB/templates/PSO/loginbox.tpl +++ /dev/null @@ -1,3 +0,0 @@ - <tr><form method="post" action="{S_LOGIN_ACTION}"> - <td colspan="3" align="right" valign="bottom"><font face="{T_FONTFACE1}" size="{T_FONTSIZE1}">{L_USERNAME}: <input class="text" type="text" name="username"> {L_PASSWORD}: <input type="password" name="password"> {L_AUTO_LOGIN}</font>: <input class="text" type="checkbox" name="autologin"> <input type="submit" name="submit" value="{L_LOGIN}"> </font></td> - </form></tr> |