--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/punbb/footer.php Sun Apr 06 00:28:50 2008 -0400
@@ -0,0 +1,221 @@
+<?php
+/***********************************************************************
+
+ Copyright (C) 2002-2008 PunBB.org
+
+ This file is part of PunBB.
+
+ PunBB 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.
+
+ PunBB is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ MA 02111-1307 USA
+
+************************************************************************/
+
+
+// Make sure no one attempts to run this script "directly"
+if (!defined('PUN'))
+ exit;
+
+($hook = get_hook('ft_pun_main_end')) ? eval($hook) : null;
+
+$tpl_temp = trim(ob_get_contents());
+$tpl_main = str_replace('<!-- pun_main -->', $tpl_temp, $tpl_main);
+ob_end_clean();
+// END SUBST - <!-- pun_main -->
+
+
+// START SUBST - <!-- pun_stats -->
+if (PUN_PAGE == 'index')
+{
+ ob_start();
+
+ // Collect some statistics from the database
+ $query = array(
+ 'SELECT' => 'COUNT(u.id)-1',
+ 'FROM' => 'users AS u'
+ );
+
+ ($hook = get_hook('ft_qr_get_user_count')) ? eval($hook) : null;
+ $result = $pun_db->query_build($query) or error(__FILE__, __LINE__);
+ $stats['total_users'] = $pun_db->result($result);
+
+ $query = array(
+ 'SELECT' => 'u.id, u.username',
+ 'FROM' => 'users AS u',
+ 'ORDER BY' => 'u.registered DESC',
+ 'LIMIT' => '1'
+ );
+
+ ($hook = get_hook('ft_qr_get_newest_user')) ? eval($hook) : null;
+ $result = $pun_db->query_build($query) or error(__FILE__, __LINE__);
+ $stats['last_user'] = $pun_db->fetch_assoc($result);
+
+ $query = array(
+ 'SELECT' => 'SUM(f.num_topics), SUM(f.num_posts)',
+ 'FROM' => 'forums AS f'
+ );
+
+ ($hook = get_hook('ft_qr_get_post_stats')) ? eval($hook) : null;
+ $result = $pun_db->query_build($query) or error(__FILE__, __LINE__);
+ list($stats['total_topics'], $stats['total_posts']) = $pun_db->fetch_row($result);
+
+ $stats_list[] = '<li class="st-users"><span>'.$lang_index['No of users'].':</span> <strong>'. $stats['total_users'].'</strong></li>';
+ $stats_list[] = '<li class="st-users"><span>'.$lang_index['Newest user'].':</span> <strong><a href="'.pun_link($pun_url['user'], $stats['last_user']['id']).'">'.htmlspecialchars($stats['last_user']['username']).'</a></strong></li>';
+ $stats_list[] = '<li class="st-activity"><span>'.$lang_index['No of topics'].':</span> <strong>'.intval($stats['total_topics']).'</strong></li>';
+ $stats_list[] = '<li class="st-activity"><span>'.$lang_index['No of posts'].':</span> <strong>'.intval($stats['total_posts']).'</strong></li>';
+
+?>
+<div id="pun-info" class="main">
+ <div class="main-head">
+ <h2><span><?php echo $lang_index['Forum information'] ?></span></h2>
+ </div>
+ <div class="main-content">
+ <div id="stats">
+ <h3><?php echo $lang_index['Statistics'] ?></h3>
+ <ul>
+ <?php echo implode("\n\t\t\t\t", $stats_list)."\n" ?>
+ </ul>
+ </div>
+<?php
+
+ if ($pun_config['o_users_online'] == '1')
+ {
+ // Fetch users online info and generate strings for output
+ $query = array(
+ 'SELECT' => 'o.user_id, o.ident',
+ 'FROM' => 'online AS o',
+ 'WHERE' => 'o.idle=0',
+ 'ORDER BY' => 'o.ident'
+ );
+
+ $result = $pun_db->query_build($query, true) or error(__FILE__, __LINE__);
+ $num_guests = 0;
+ $users = array();
+
+ while ($pun_user_online = $pun_db->fetch_assoc($result))
+ {
+ if ($pun_user_online['user_id'] > 1)
+ $users[] = '<a href="'.pun_link($pun_url['user'], $pun_user_online['user_id']).'">'.htmlspecialchars($pun_user_online['ident']).'</a>';
+ else
+ ++$num_guests;
+ }
+
+?>
+ <div id="onlinelist">
+ <h3><?php printf($lang_index['Online'], $num_guests, count($users)) ?></h3>
+<?php
+
+ // If there are registered users logged in, list them
+ if (count($users) > 0)
+ echo "\t\t\t".'<p>'.implode(', ', $users).'</p>'."\n";
+
+?>
+ </div>
+<?php
+
+ }
+
+?>
+ </div>
+</div>
+<?php
+
+ $tpl_temp = trim(ob_get_contents());
+ $tpl_main = str_replace('<!-- pun_stats -->', $tpl_temp, $tpl_main);
+ ob_end_clean();
+}
+// END SUBST - <!-- pun_stats -->
+
+
+// START SUBST - <!-- pun_about -->
+ob_start();
+
+?>
+<div id="pun-about">
+<?php
+
+// Display the "Jump to" drop list
+if ($pun_config['o_quickjump'] == '1')
+{
+ // Load cached quickjump
+ if (file_exists(PUN_CACHE_DIR.'cache_quickjump_'.$pun_user['g_id'].'.php'))
+ include PUN_CACHE_DIR.'cache_quickjump_'.$pun_user['g_id'].'.php';
+
+ if (!defined('PUN_QJ_LOADED'))
+ {
+ require_once PUN_ROOT.'include/cache.php';
+ generate_quickjump_cache($pun_user['g_id']);
+ require PUN_CACHE_DIR.'cache_quickjump_'.$pun_user['g_id'].'.php';
+ }
+}
+
+
+// End the transaction
+$pun_db->end_transaction();
+
+?>
+ <p id="copyright">Powered by <strong><a href="http://punbb.org/">PunBB</a><?php if ($pun_config['o_show_version'] == '1') echo ' '.$pun_config['o_cur_version']; ?></strong></p>
+<?php
+
+($hook = get_hook('ft_about_info_extra')) ? eval($hook) : null;
+
+// Display debug info (if enabled/defined)
+if (defined('PUN_DEBUG'))
+{
+ // Calculate script generation time
+ list($usec, $sec) = explode(' ', microtime());
+ $time_diff = sprintf('%.3f', ((float)$usec + (float)$sec) - $pun_start);
+ echo "\t".'<p id="querytime">[ Generated in '.$time_diff.' seconds, '.$pun_db->get_num_queries().' queries executed ]</p>'."\n";
+}
+echo '</div>'."\n";
+
+$tpl_temp = trim(ob_get_contents());
+$tpl_main = str_replace('<!-- pun_about -->', $tpl_temp, $tpl_main);
+ob_end_clean();
+// END SUBST - <!-- pun_about -->
+
+
+// START SUBST - <!-- pun_debug -->
+if (defined('PUN_SHOW_QUERIES'))
+ $tpl_main = str_replace('<!-- pun_debug -->', get_saved_queries(), $tpl_main);
+// END SUBST - <!-- pun_debug -->
+
+
+// START SUBST - <!-- pun_include "*" -->
+while (preg_match('#<!-- ?pun_include "([^/\\\\]*?)" ?-->#', $tpl_main, $cur_include))
+{
+ if (!file_exists(PUN_ROOT.'include/user/'.$cur_include[1]))
+ error('Unable to process user include <!-- pun_include "'.htmlspecialchars($cur_include[1]).'" --> from template main.tpl. There is no such file in folder /include/user/', __FILE__, __LINE__);
+
+ ob_start();
+ include PUN_ROOT.'include/user/'.$cur_include[1];
+ $tpl_temp = ob_get_contents();
+ $tpl_main = str_replace($cur_include[0], $tpl_temp, $tpl_main);
+ ob_end_clean();
+}
+// END SUBST - <!-- pun_include "*" -->
+
+
+// Last call!
+($hook = get_hook('ft_end')) ? eval($hook) : null;
+
+
+// Close the db connection (and free up any result data)
+$pun_db->close();
+
+// Spit out the page
+global $template;
+$template->header();
+echo($tpl_main);
+$template->footer();