PunBB 1.4.1 to 1.4.2 changes Legend
Lines removed 
Lines changed
 Lines added

punbb-1.4.1/admin/bans.php punbb-1.4.2/admin/bans.php
  4:  *  4:  *
  5:  * Allows administrators and moderators to create, modify, and delete bans.  5:  * Allows administrators and moderators to create, modify, and delete bans.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
223:             </fieldset>223:             </fieldset>
224: <?php ($hook = get_hook('aba_add_edit_ban_criteria_fieldset_end')) ? eval($hook) : null; ?>224: <?php ($hook = get_hook('aba_add_edit_ban_criteria_fieldset_end')) ? eval($hook) : null; ?>
225:             <div class="frm-buttons">225:             <div class="frm-buttons">
226:                 <span class="submit"><input type="submit" name="add_edit_ban" value=" <?php echo $lang_admin_bans['Save ban'] ?>" /></span>226:                 <span class="submit primary"><input type="submit" name="add_edit_ban" value=" <?php echo $lang_admin_bans['Save ban'] ?>" /></span>
227:             </div>227:             </div>
228:         </form>228:         </form>
229:     </div>229:     </div>
478:                 </div>478:                 </div>
479:             </fieldset>479:             </fieldset>
480:             <div class="frm-buttons">480:             <div class="frm-buttons">
481:                 <span class="submit"><input type="submit" name="add_ban" value=" <?php echo $lang_admin_bans['Add ban'] ?> " /></span>481:                 <span class="submit primary"><input type="submit" name="add_ban" value=" <?php echo $lang_admin_bans['Add ban'] ?> " /></span>
482:             </div>482:             </div>
483:         </form>483:         </form>
484:     </div>484:     </div>
544:             <div class="ct-set set<?php echo ++$forum_page['item_num'] ?>">544:             <div class="ct-set set<?php echo ++$forum_page['item_num'] ?>">
545:                 <div class="ct-box">545:                 <div class="ct-box">
546:                     <div class="ct-legend">546:                     <div class="ct-legend">
547:                         <h3 class=""><span><?php printf($lang_admin_bans['Current ban head'], $forum_page['ban_creator']) ?></span></h3>547:                         <h3><span><?php printf($lang_admin_bans['Current ban head'], $forum_page['ban_creator']) ?></span></h3>
548:                         <p><?php printf($lang_admin_bans['Edit or remove'], '<a href="'.forum_link($forum_url['admin_bans']).'&amp;edit_ban='.$cur_ban['id'].'">'.$lang_admin_bans['Edit ban'].'</a>', '<a href="'.forum_link($forum_url['admin_bans']).'&amp;del_ban='.$cur_ban['id'].'&amp;csrf_token='.generate_form_token('del_ban'.$cur_ban['id']).'">'.$lang_admin_bans['Remove ban'].'</a>') ?></p>548:                         <p><?php printf($lang_admin_bans['Edit or remove'], '<a href="'.forum_link($forum_url['admin_bans']).'&amp;edit_ban='.$cur_ban['id'].'">'.$lang_admin_bans['Edit ban'].'</a>', '<a href="'.forum_link($forum_url['admin_bans']).'&amp;del_ban='.$cur_ban['id'].'&amp;csrf_token='.generate_form_token('del_ban'.$cur_ban['id']).'">'.$lang_admin_bans['Remove ban'].'</a>') ?></p>
549:                     </div>549:                     </div>
550: <?php if (!empty($forum_page['ban_info'])): ?>550: <?php if (!empty($forum_page['ban_info'])): ?>


punbb-1.4.1/admin/categories.php punbb-1.4.2/admin/categories.php
  4:  *  4:  *
  5:  * Allows administrators to create, reposition, and remove categories.  5:  * Allows administrators to create, reposition, and remove categories.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
193:                 <?php echo implode("\n\t\t\t\t", $forum_page['hidden_fields'])."\n" ?>193:                 <?php echo implode("\n\t\t\t\t", $forum_page['hidden_fields'])."\n" ?>
194:             </div>194:             </div>
195:             <div class="frm-buttons">195:             <div class="frm-buttons">
196:                 <span class="submit primary"><input type="submit" name="del_cat_comply" value="<?php echo $lang_admin_categories['Delete category'] ?>" /></span>196:                 <span class="submit primary caution"><input type="submit" name="del_cat_comply" value="<?php echo $lang_admin_categories['Delete category'] ?>" /></span>
197:                 <span class="cancel"><input type="submit" name="del_cat_cancel" value="<?php echo $lang_admin_common['Cancel'] ?>" /></span>197:                 <span class="cancel"><input type="submit" name="del_cat_cancel" value="<?php echo $lang_admin_common['Cancel'] ?>" /></span>
198:             </div>198:             </div>
199:         </form>199:         </form>
345:             </fieldset>345:             </fieldset>
346: <?php ($hook = get_hook('acg_add_cat_fieldset_end')) ? eval($hook) : null; ?>346: <?php ($hook = get_hook('acg_add_cat_fieldset_end')) ? eval($hook) : null; ?>
347:             <div class="frm-buttons">347:             <div class="frm-buttons">
348:                 <span class="submit"><input type="submit" name="add_cat" value="<?php echo $lang_admin_categories['Add category'] ?>" /></span>348:                 <span class="submit primary"><input type="submit" name="add_cat" value="<?php echo $lang_admin_categories['Add category'] ?>" /></span>
349:             </div>349:             </div>
350:         </form>350:         </form>
351:     </div>351:     </div>
391:             </fieldset>391:             </fieldset>
392: <?php ($hook = get_hook('acg_del_cat_fieldset_end')) ? eval($hook) : null; ?>392: <?php ($hook = get_hook('acg_del_cat_fieldset_end')) ? eval($hook) : null; ?>
393:             <div class="frm-buttons">393:             <div class="frm-buttons">
394:                 <span class="submit"><input type="submit" name="del_cat" value="<?php echo $lang_admin_categories['Delete category'] ?>" /></span>394:                 <span class="submit primary"><input type="submit" name="del_cat" value="<?php echo $lang_admin_categories['Delete category'] ?>" /></span>
395:             </div>395:             </div>
396:         </form>396:         </form>
397:     </div>397:     </div>
421: 421: 
422: ?>422: ?>
423:             <fieldset class="frm-group group<?php echo ++$forum_page['group_count'] ?>">423:             <fieldset class="frm-group group<?php echo ++$forum_page['group_count'] ?>">
424:                 <legend class="group-legend"><span><?php echo $lang_admin_categories['Edit category legend']; ?></span></legend>424:                 <legend class="group-legend"><span><?php echo $lang_admin_categories['Edit category legend'] ?></span></legend>
425:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">425:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
426: <?php ($hook = get_hook('acg_pre_edit_cat_name')) ? eval($hook) : null; ?>426: <?php ($hook = get_hook('acg_pre_edit_cat_name')) ? eval($hook) : null; ?>
427:                     <div class="sf-box text">427:                     <div class="sf-box text">
445: 445: 
446: ?>446: ?>
447:             <div class="frm-buttons">447:             <div class="frm-buttons">
448:                 <span class="submit"><input type="submit" name="update" value="<?php echo $lang_admin_categories['Update all categories'] ?>" /></span>448:                 <span class="submit primary"><input type="submit" name="update" value="<?php echo $lang_admin_categories['Update all categories'] ?>" /></span>
449:             </div>449:             </div>
450:         </form>450:         </form>
451:     </div>451:     </div>


punbb-1.4.1/admin/censoring.php punbb-1.4.2/admin/censoring.php
  4:  *  4:  *
  5:  * Allows administrators and moderators to add, modify, and delete the word censors used by the software when censoring is enabled.  5:  * Allows administrators and moderators to add, modify, and delete the word censors used by the software when censoring is enabled.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */


punbb-1.4.1/admin/db_update.php punbb-1.4.2/admin/db_update.php
  4:  *  4:  *
  5:  * Updates the database to the latest version.  5:  * Updates the database to the latest version.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
 11:  11: 
 12:  12: 
 13: define('UPDATE_TO', '1.4.1'); 13: define('UPDATE_TO', '1.4.2');
 14: define('UPDATE_TO_DB_REVISION', 5); 14: define('UPDATE_TO_DB_REVISION', 5);
 15:  15: 
 16: // The number of items to process per pageview (lower this if the update script times out during UTF-8 conversion) 16: // The number of items to process per pageview (lower this if the update script times out during UTF-8 conversion)
 87: // Load DB abstraction layer and try to connect 87: // Load DB abstraction layer and try to connect
 88: require FORUM_ROOT.'include/dblayer/common_db.php'; 88: require FORUM_ROOT.'include/dblayer/common_db.php';
 89:  89: 
  90: // Start a transaction
  91: $forum_db->start_transaction();
  92: 
 90: // Check current version 93: // Check current version
 91: $query = array( 94: $query = array(
 92:     'SELECT'    => 'conf_value', 95:     'SELECT'    => 'conf_value',
347:     global $forum_db;350:     global $forum_db;
348: 351: 
349:     $types = array(352:     $types = array(
350:         'char'             => 'binary',353:         'char'            => 'binary',
351:         'varchar'        => 'varbinary',354:         'varchar'        => 'varbinary',
352:         'tinytext'        => 'tinyblob',355:         'tinytext'        => 'tinyblob',
353:         'mediumtext'    => 'mediumblob',356:         'mediumtext'    => 'mediumblob',
389:     {392:     {
390:         while (false !== ($avatar = readdir($handle)))393:         while (false !== ($avatar = readdir($handle)))
391:         {394:         {
392:             $avatar_file =  $avatar_dir.$avatar;395:             $avatar_file = $avatar_dir.$avatar;
393:             if (!is_file($avatar_file))396:             if (!is_file($avatar_file))
394:             {397:             {
395:                 continue;398:                 continue;
471: <!--[if IE 8 ]>    <html class="oldie ie8" lang="en" dir="ltr"> <![endif]-->474: <!--[if IE 8 ]>    <html class="oldie ie8" lang="en" dir="ltr"> <![endif]-->
472: <!--[if gt IE 8]><!--> <html lang="en" dir="ltr"> <!--<![endif]-->475: <!--[if gt IE 8]><!--> <html lang="en" dir="ltr"> <!--<![endif]-->
473: <head>476: <head>
474:     <meta charset="utf-8"/>477:     <meta charset="utf-8" />
475:     <title>PunBB Database Update</title>478:     <title>PunBB Database Update</title>
476:     <link rel="stylesheet" type="text/css" href="<?php echo $base_url ?>/style/Oxygen/min/Oxygen.min.css" />479:     <link rel="stylesheet" type="text/css" href="<?php echo $base_url ?>/style/Oxygen/Oxygen.min.css" />
477:     <script type="text/javascript" src="<?php echo $base_url ?>/include/js/min/punbb.common.min.js"></script>480:     <script type="text/javascript" src="<?php echo $base_url ?>/include/js/min/punbb.common.min.js"></script>
478: </head>481: </head>
479: <body>482: <body>
563: 566: 
564: ?>567: ?>
565:             <div class="frm-buttons">568:             <div class="frm-buttons">
566:                 <span class="submit"><input type="submit" name="start" value="Start update" /></span>569:                 <span class="submit primary"><input type="submit" name="start" value="Start update" /></span>
567:             </div>570:             </div>
568:         </form>571:         </form>
569:     </div>572:     </div>
833:         $forum_db->alter_field('reports', 'message', 'TEXT', true);836:         $forum_db->alter_field('reports', 'message', 'TEXT', true);
834: 837: 
835: 838: 
836:         // Drop fulltext indexes  (should only apply to SVN installs)839:         // Drop fulltext indexes (should only apply to SVN installs)
837:         if (in_array($db_type, array('mysql', 'mysqli', 'mysql_innodb', 'mysqli_innodb')))840:         if (in_array($db_type, array('mysql', 'mysqli', 'mysql_innodb', 'mysqli_innodb')))
838:         {841:         {
839:             $forum_db->drop_index('topics', 'subject_idx');842:             $forum_db->drop_index('topics', 'subject_idx');
1363:                 while ($cur_user = $forum_db->fetch_assoc($result))1366:                 while ($cur_user = $forum_db->fetch_assoc($result))
1364:                 {1367:                 {
1365:                     if ($cur_user['linkedin'] != '' &&1368:                     if ($cur_user['linkedin'] != '' &&
1366:                         strpos(strtolower($cur_user['linkedin']), 'http://') !== 0  &&1369:                         strpos(strtolower($cur_user['linkedin']), 'http://') !== 0 &&
1367:                         strpos(strtolower($cur_user['linkedin']), 'https://') !== 0)1370:                         strpos(strtolower($cur_user['linkedin']), 'https://') !== 0)
1368:                     {1371:                     {
1369:                         $query = array(1372:                         $query = array(
2180: <!--[if IE 8 ]>    <html class="oldie ie8" lang="en" dir="ltr"> <![endif]-->2183: <!--[if IE 8 ]>    <html class="oldie ie8" lang="en" dir="ltr"> <![endif]-->
2181: <!--[if gt IE 8]><!--> <html lang="en" dir="ltr"> <!--<![endif]-->2184: <!--[if gt IE 8]><!--> <html lang="en" dir="ltr"> <!--<![endif]-->
2182: <head>2185: <head>
2183:     <meta charset="utf-8"/>2186:     <meta charset="utf-8" />
2184:     <title>PunBB Database Update</title>2187:     <title>PunBB Database Update</title>
2185:     <link rel="stylesheet" type="text/css" href="<?php echo $base_url ?>/style/Oxygen/min/Oxygen.min.css" />2188:     <link rel="stylesheet" type="text/css" href="<?php echo $base_url ?>/style/Oxygen/Oxygen.min.css" />
2186:     <script type="text/javascript" src="<?php echo $base_url ?>/include/js/min/punbb.common.min.js"></script>2189:     <script type="text/javascript" src="<?php echo $base_url ?>/include/js/min/punbb.common.min.js"></script>
2187: </head>2190: </head>
2188: <body>2191: <body>


punbb-1.4.1/admin/extensions.php punbb-1.4.2/admin/extensions.php
  4:  *  4:  *
  5:  * Allows administrators to control the extensions and hotfixes installed in the site.  5:  * Allows administrators to control the extensions and hotfixes installed in the site.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
 62:     if (!empty($errors)) 62:     if (!empty($errors))
 63:         message(isset($_GET['install']) ? $lang_common['Bad request'] : $lang_admin_ext['Hotfix download failed']); 63:         message(isset($_GET['install']) ? $lang_common['Bad request'] : $lang_admin_ext['Hotfix download failed']);
 64:  64: 
  65:     // Get core amd major versions
  66:     if (!defined('FORUM_DISABLE_EXTENSIONS_VERSION_CHECK'))
  67:     {
  68:         list($forum_version_core, $forum_version_major) = explode('.', clean_version($forum_config['o_cur_version']));
  69:         list($extension_maxtestedon_version_core, $extension_maxtestedon_version_major) = explode('.', clean_version($ext_data['extension']['maxtestedon']));
  70: 
  71:         if (version_compare($forum_version_core.'.'.$forum_version_major, $extension_maxtestedon_version_core.'.'.$extension_maxtestedon_version_major, '>'))
  72:             message($lang_admin_ext['Maxtestedon error']);
  73:     }
  74: 
 65:     // Make sure we have an array of dependencies 75:     // Make sure we have an array of dependencies
 66:     if (!isset($ext_data['extension']['dependencies']['dependency'])) 76:     if (!isset($ext_data['extension']['dependencies']['dependency']))
 67:         $ext_data['extension']['dependencies'] = array(); 77:         $ext_data['extension']['dependencies'] = array();
192:         if (isset($ext_data['extension']['hooks']['hook']))202:         if (isset($ext_data['extension']['hooks']['hook']))
193:         {203:         {
194:             foreach ($ext_data['extension']['hooks']['hook'] as $ext_hook)204:             foreach ($ext_data['extension']['hooks']['hook'] as $ext_hook)
195:               {205:             {
196:                 $cur_hooks = explode(',', $ext_hook['attributes']['id']);206:                 $cur_hooks = explode(',', $ext_hook['attributes']['id']);
197:                 foreach ($cur_hooks as $cur_hook)207:                 foreach ($cur_hooks as $cur_hook)
198:                 {208:                 {
205:                     ($hook = get_hook('aex_install_comply_qr_add_hook')) ? eval($hook) : null;215:                     ($hook = get_hook('aex_install_comply_qr_add_hook')) ? eval($hook) : null;
206:                     $forum_db->query_build($query) or error(__FILE__, __LINE__);216:                     $forum_db->query_build($query) or error(__FILE__, __LINE__);
207:                 }217:                 }
208:               }218:             }
209:           }219:         }
210: 220: 
211:         // Empty the PHP cache221:         // Empty the PHP cache
212:         forum_clear_cache();222:         forum_clear_cache();
308:                 <div class="ct-set data-set set1">318:                 <div class="ct-set data-set set1">
309:                     <div class="ct-box data-box">319:                     <div class="ct-box data-box">
310:                         <h3 class="ct-legend hn"><span><?php echo forum_htmlencode($ext_data['extension']['title']) ?></span></h3>320:                         <h3 class="ct-legend hn"><span><?php echo forum_htmlencode($ext_data['extension']['title']) ?></span></h3>
311:                         <p><?php  echo ((strpos($id, 'hotfix_') !== 0) ? sprintf($lang_admin_ext['Version'], $ext_data['extension']['version']) : $lang_admin_ext['Hotfix']) ?></p>321:                         <p><?php echo ((strpos($id, 'hotfix_') !== 0) ? sprintf($lang_admin_ext['Version'], $ext_data['extension']['version']) : $lang_admin_ext['Hotfix']) ?></p>
312:                         <p><?php printf($lang_admin_ext['Extension by'], forum_htmlencode($ext_data['extension']['author'])) ?></p>322:                         <p><?php printf($lang_admin_ext['Extension by'], forum_htmlencode($ext_data['extension']['author'])) ?></p>
313:                         <p><?php echo forum_htmlencode($ext_data['extension']['description']) ?></p>323:                         <p><?php echo forum_htmlencode($ext_data['extension']['description']) ?></p>
314:                     </div>324:                     </div>
562:                 <p class="warn"><?php echo $lang_admin_ext['Installed extensions warn'] ?></p>572:                 <p class="warn"><?php echo $lang_admin_ext['Installed extensions warn'] ?></p>
563:             </div>573:             </div>
564: <?php endif; ?>                <div class="frm-buttons">574: <?php endif; ?>                <div class="frm-buttons">
565:                 <span class="submit primary"><input type="submit" name="uninstall_comply" value="<?php echo $lang_admin_ext['Uninstall'] ?>" /></span>575:                 <span class="submit primary caution"><input type="submit" name="uninstall_comply" value="<?php echo $lang_admin_ext['Uninstall'] ?>" /></span>
566:                 <span class="cancel"><input type="submit" name="uninstall_cancel" value="<?php echo $lang_admin_common['Cancel'] ?>" /></span>576:                 <span class="cancel"><input type="submit" name="uninstall_cancel" value="<?php echo $lang_admin_common['Cancel'] ?>" /></span>
567:             </div>577:             </div>
568:         </form>578:         </form>
757:         {767:         {
758:             if (!array_key_exists($hotfix['attributes']['id'], $inst_exts))768:             if (!array_key_exists($hotfix['attributes']['id'], $inst_exts))
759:             {769:             {
760:                 $forum_page['ext_item'][] = '<div class="ct-box info-box hotfix available">'."\n\t\t\t".'<h3 class="ct-legend hn"><span>'.forum_htmlencode($hotfix['content']).'</span></h3>'."\n\t\t\t".'<ul>'."\n\t\t\t\t".'<li><span>'.sprintf($lang_admin_ext['Extension by'], 'PunBB').'</span></li>'."\n\t\t\t\t".'<li><span>'.$lang_admin_ext['Hotfix description'].'</span></li>'."\n\t\t\t".'</ul>'."\n\t\t\t\t".'<p class="options"><span class="first-item"><a href="'.$base_url.'/admin/extensions.php?install_hotfix='.urlencode($hotfix['attributes']['id']).'">'.$lang_admin_ext['Install hotfix'].'</a></span></p>'."\n\t\t".'</div>';770:                 $forum_page['ext_item'][] = '<div class="ct-box info-box hotfix available">'."\n\t\t\t".'<h3 class="ct-legend hn">'.forum_htmlencode($hotfix['content']).'</h3>'."\n\t\t\t".'<ul>'."\n\t\t\t\t".'<li><span>'.sprintf($lang_admin_ext['Extension by'], 'PunBB').'</span></li>'."\n\t\t\t\t".'<li><span>'.$lang_admin_ext['Hotfix description'].'</span></li>'."\n\t\t\t".'</ul>'."\n\t\t\t\t".'<p class="options"><span class="first-item"><a href="'.$base_url.'/admin/extensions.php?install_hotfix='.urlencode($hotfix['attributes']['id']).'">'.$lang_admin_ext['Install hotfix'].'</a></span></p>'."\n\t\t".'</div>';
761:                 ++$num_exts;771:                 ++$num_exts;
762:             }772:             }
763:         }773:         }
810:             <ul class="data-list">820:             <ul class="data-list">
811:                 <li><span><?php echo ((strpos($id, 'hotfix_') !== 0) ? sprintf($lang_admin_ext['Version'], $ext['version']) : $lang_admin_ext['Hotfix']) ?></span></li>821:                 <li><span><?php echo ((strpos($id, 'hotfix_') !== 0) ? sprintf($lang_admin_ext['Version'], $ext['version']) : $lang_admin_ext['Hotfix']) ?></span></li>
812:                 <li><span><?php printf($lang_admin_ext['Extension by'], forum_htmlencode($ext['author'])) ?></span></li>822:                 <li><span><?php printf($lang_admin_ext['Extension by'], forum_htmlencode($ext['author'])) ?></span></li>
813: <?php if ($ext['description'] != ''): ?>                <li><span><?php echo forum_htmlencode($ext['description']) ?></span></li>823:                 <?php if ($ext['description'] != ''): ?>
814: <?php endif; ?>            </ul>824:                     <li><span><?php echo forum_htmlencode($ext['description']) ?></span></li>
 825:                 <?php endif; ?>
 826:             </ul>
815:             <p class="options"><?php echo implode(' ', $forum_page['ext_actions']) ?></p>827:             <p class="options"><?php echo implode(' ', $forum_page['ext_actions']) ?></p>
816:         </div>828:         </div>
817: <?php829: <?php
848:     if ($forum_config['o_check_for_versions'] == 1)860:     if ($forum_config['o_check_for_versions'] == 1)
849:     {861:     {
850:         // Check for the new versions of the extensions istalled862:         // Check for the new versions of the extensions istalled
851: 863:         $repository_urls = array('http://punbb.informer.com/extensions/1.4');
852:         $repository_urls = array('http://punbb.informer.com/extensions'); 
853:         ($hook = get_hook('aex_add_extensions_repository')) ? eval($hook) : null;864:         ($hook = get_hook('aex_add_extensions_repository')) ? eval($hook) : null;
854: 865: 
855:         $repository_url_by_extension = array();866:         $repository_url_by_extension = array();
859:         if (is_readable(FORUM_CACHE_DIR.'cache_ext_version_notifications.php'))870:         if (is_readable(FORUM_CACHE_DIR.'cache_ext_version_notifications.php'))
860:             include FORUM_CACHE_DIR.'cache_ext_version_notifications.php';871:             include FORUM_CACHE_DIR.'cache_ext_version_notifications.php';
861: 872: 
862:         //Get latest timestamp in cache873:         // Get latest timestamp in cache
863:         if (isset($forum_ext_repos))874:         if (isset($forum_ext_repos))
864:         {875:         {
865:             $min_timestamp = 10000000000;876:             $min_timestamp = 10000000000;
866:             foreach ( $forum_ext_repos as $rep)877:             foreach ($forum_ext_repos as $rep)
867:                 $min_timestamp = min($min_timestamp, $rep['timestamp']);878:                 $min_timestamp = min($min_timestamp, $rep['timestamp']);
868:         }879:         }
869: 880: 
870:         $update_hour = (isset($forum_ext_versions_update_cache) && (time() - $forum_ext_versions_update_cache > 60 * 60));881:         $update_hour = (isset($forum_ext_versions_update_cache) && (time() - $forum_ext_versions_update_cache > 60 * 60));
871: 882: 
872:         // Update last versions if there is no cahe or some extension was added/removed or one day has gone since last update883:         // Update last versions if there is no cahe or some extension was added/removed or one day has gone since last update
873:         $update_new_versions_cache = !defined('FORUM_EXT_VERSIONS_LOADED') || (isset($forum_ext_last_versions) && array_diff($inst_exts, $forum_ext_last_versions) != array()) || $update_hour  || ( $update_hour && isset($min_timestamp) && (time() - $min_timestamp > 60*60*24));884:         $update_new_versions_cache = !defined('FORUM_EXT_VERSIONS_LOADED') || (isset($forum_ext_last_versions) && array_diff($inst_exts, $forum_ext_last_versions) != array()) || $update_hour || ($update_hour && isset($min_timestamp) && (time() - $min_timestamp > 60*60*24));
874: 885: 
875:         ($hook = get_hook('aex_before_update_checking')) ? eval($hook) : null;886:         ($hook = get_hook('aex_before_update_checking')) ? eval($hook) : null;
876: 887: 
954:             {965:             {
955:                 if (!array_key_exists($entry, $inst_exts) || version_compare($inst_exts[$entry]['version'], $ext_data['extension']['version'], '!='))966:                 if (!array_key_exists($entry, $inst_exts) || version_compare($inst_exts[$entry]['version'], $ext_data['extension']['version'], '!='))
956:                 {967:                 {
957:                     $forum_page['ext_item'][] = '<div class="ct-box info-box extension available">'."\n\t\t\t".'<h3 class="ct-legend hn"><span>'.forum_htmlencode($ext_data['extension']['title']).'</span></h3>'."\n\t\t\t".'<ul class="data-list">'."\n\t\t\t\t".'<li><span>'.sprintf($lang_admin_ext['Version'], $ext_data['extension']['version']).'</span></li>'."\n\t\t\t\t".'<li><span>'.sprintf($lang_admin_ext['Extension by'], forum_htmlencode($ext_data['extension']['author'])).'</span></li>'.(($ext_data['extension']['description'] != '') ? "\n\t\t\t\t".'<li><span>'.forum_htmlencode($ext_data['extension']['description']).'</span></li>' : '')."\n\t\t\t".'</ul>'."\n\t\t\t".'<p class="options"><span class="first-item"><a href="'.$base_url.'/admin/extensions.php?install='.urlencode($entry).'">'.(isset($inst_exts[$entry]['version']) ? $lang_admin_ext['Upgrade extension'] : $lang_admin_ext['Install extension']).'</a></span></p>'."\n\t\t".'</div>';968:                     $forum_page['ext_item'][] = '<div class="ct-box info-box extension available">'."\n\t\t\t".'<h3 class="ct-legend hn">'.forum_htmlencode($ext_data['extension']['title']).' <em>'.$ext_data['extension']['version'].'</em></h3>'."\n\t\t\t".'<ul class="data-list">'."\n\t\t\t\t".'<li><span>'.sprintf($lang_admin_ext['Extension by'], forum_htmlencode($ext_data['extension']['author'])).'</span></li>'.(($ext_data['extension']['description'] != '') ? "\n\t\t\t\t".'<li><span>'.forum_htmlencode($ext_data['extension']['description']).'</span></li>' : '')."\n\t\t\t".'</ul>'."\n\t\t\t".'<p class="options"><span class="first-item"><a href="'.$base_url.'/admin/extensions.php?install='.urlencode($entry).'">'.(isset($inst_exts[$entry]['version']) ? $lang_admin_ext['Upgrade extension'] : $lang_admin_ext['Install extension']).'</a></span></p>'."\n\t\t".'</div>';
958:                     ++$num_exts;969:                     ++$num_exts;
959:                 }970:                 }
960:             }971:             }
1021:         ($hook = get_hook('aex_section_manage_pre_ext_actions')) ? eval($hook) : null;1032:         ($hook = get_hook('aex_section_manage_pre_ext_actions')) ? eval($hook) : null;
1022: 1033: 
1023:         if ($ext['disabled'] == '1')1034:         if ($ext['disabled'] == '1')
1024:             $forum_page['ext_item'][] = '<div class="ct-box info-box extension disabled">'."\n\t\t".'<h3 class="ct-legend hn"><span>'.forum_htmlencode($ext['title']).' ( <span>'.$lang_admin_ext['Extension disabled'].'</span> )</span></h3>'."\n\t\t".'<ul class="data-list">'."\n\t\t\t".'<li><span>'.sprintf($lang_admin_ext['Version'], $ext['version']).'</span></li>'."\n\t\t\t".'<li><span>'.sprintf($lang_admin_ext['Extension by'], forum_htmlencode($ext['author'])).'</span></li>'."\n\t\t\t".(($ext['description'] != '') ? '<li><span>'.forum_htmlencode($ext['description']).'</span></li>' : '')."\n\t\t\t".'</ul>'."\n\t\t".'<p class="options">'.implode(' ', $forum_page['ext_actions']).'</p>'."\n\t".'</div>';1035:             $forum_page['ext_item'][] = '<div class="ct-box info-box extension disabled">'."\n\t\t".'<h3 class="ct-legend hn">'.forum_htmlencode($ext['title']).' <em>'.$ext['version'].'</em> ('.$lang_admin_ext['Extension disabled'].')</h3>'."\n\t\t".'<ul class="data-list">'."\n\t\t\t".'<li><span>'.sprintf($lang_admin_ext['Extension by'], forum_htmlencode($ext['author'])).'</span></li>'."\n\t\t\t".(($ext['description'] != '') ? '<li><span>'.forum_htmlencode($ext['description']).'</span></li>' : '')."\n\t\t\t".'</ul>'."\n\t\t".'<p class="options">'.implode(' ', $forum_page['ext_actions']).'</p>'."\n\t".'</div>';
1025:         else1036:         else
1026:             $forum_page['ext_item'][] = '<div class="ct-box info-box extension enabled">'."\n\t\t".'<h3 class="ct-legend hn"><span>'.forum_htmlencode($ext['title']).'</span></h3>'."\n\t\t".'<ul class="data-list">'."\n\t\t\t".'<li><span>'.sprintf($lang_admin_ext['Version'], $ext['version']).'</span></li>'."\n\t\t\t".'<li><span>'.sprintf($lang_admin_ext['Extension by'], forum_htmlencode($ext['author'])).'</span></li>'."\n\t\t\t".(($ext['description'] != '') ? '<li><span>'.forum_htmlencode($ext['description']).'</span></li>' : '')."\n\t\t".'</ul>'."\n\t\t".'<p class="options">'.implode(' ', $forum_page['ext_actions']).'</p>'."\n\t".'</div>';1037:             $forum_page['ext_item'][] = '<div class="ct-box info-box extension enabled">'."\n\t\t".'<h3 class="ct-legend hn">'.forum_htmlencode($ext['title']).' <em>'.$ext['version'].'</em></h3>'."\n\t\t".'<ul class="data-list">'."\n\t\t\t".'<li><span>'.sprintf($lang_admin_ext['Extension by'], forum_htmlencode($ext['author'])).'</span></li>'."\n\t\t\t".(($ext['description'] != '') ? '<li><span>'.forum_htmlencode($ext['description']).'</span></li>' : '')."\n\t\t".'</ul>'."\n\t\t".'<p class="options">'.implode(' ', $forum_page['ext_actions']).'</p>'."\n\t".'</div>';
1027: 1038: 
1028:         $installed_count++;1039:         $installed_count++;
1029:     }1040:     }


punbb-1.4.1/admin/forums.php punbb-1.4.2/admin/forums.php
  4:  *  4:  *
  5:  * Allows administrators to add, modify, and remove forums.  5:  * Allows administrators to add, modify, and remove forums.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
188:                 <p class="warn"><?php echo $lang_admin_forums['Delete forum warning'] ?></p>188:                 <p class="warn"><?php echo $lang_admin_forums['Delete forum warning'] ?></p>
189:             </div>189:             </div>
190:             <div class="frm-buttons">190:             <div class="frm-buttons">
191:                 <span class="submit primary"><input type="submit" name="del_forum_comply" value="<?php echo $lang_admin_forums['Delete forum'] ?>" /></span>191:                 <span class="submit primary caution"><input type="submit" name="del_forum_comply" value="<?php echo $lang_admin_forums['Delete forum'] ?>" /></span>
192:                 <span class="cancel"><input type="submit" name="del_forum_cancel" value="<?php echo $lang_admin_common['Cancel'] ?>" /></span>192:                 <span class="cancel"><input type="submit" name="del_forum_cancel" value="<?php echo $lang_admin_common['Cancel'] ?>" /></span>
193:             </div>193:             </div>
194:         </form>194:         </form>
549:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">549:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
550:                     <div class="sf-box text">550:                     <div class="sf-box text">
551:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_admin_forums['Redirect URL'] ?></span></label><br />551:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_admin_forums['Redirect URL'] ?></span></label><br />
552:                         <span class="fld-input"><?php echo ($cur_forum['num_topics']) ? '<input type="url" id="fld'.$forum_page['fld_count'].'" name="redirect_url" size="45" maxlength="100" value="'.$lang_admin_forums['Only for empty forums'].'" disabled="disabled" />' : '<input type="text" id="fld'.$forum_page['fld_count'].'" name="redirect_url" size="45" maxlength="100" value="'.forum_htmlencode($cur_forum['redirect_url']).'" />'; ?></span>552:                         <span class="fld-input"><?php echo ($cur_forum['num_topics']) ? '<input type="url" id="fld'.$forum_page['fld_count'].'" name="redirect_url" size="45" maxlength="100" value="'.$lang_admin_forums['Only for empty forums'].'" disabled="disabled" />' : '<input type="text" id="fld'.$forum_page['fld_count'].'" name="redirect_url" size="35" maxlength="100" value="'.forum_htmlencode($cur_forum['redirect_url']).'" />' ?></span>
553:                     </div>553:                     </div>
554:                 </div>554:                 </div>
555: <?php ($hook = get_hook('afo_edit_forum_pre_details_fieldset_end')) ? eval($hook) : null; ?>555: <?php ($hook = get_hook('afo_edit_forum_pre_details_fieldset_end')) ? eval($hook) : null; ?>
612:                     <div class="mf-box mf-yesno">612:                     <div class="mf-box mf-yesno">
613: <?php ($hook = get_hook('afo_edit_forum_pre_cur_group_read_forum_permission')) ? eval($hook) : null; ?>613: <?php ($hook = get_hook('afo_edit_forum_pre_cur_group_read_forum_permission')) ? eval($hook) : null; ?>
614:                         <div class="mf-item">614:                         <div class="mf-item">
615:                             <input type="hidden" name="read_forum_old[<?php echo $cur_perm['g_id'] ?>]" value="<?php echo ($read_forum) ? '1' : '0'; ?>" />615:                             <input type="hidden" name="read_forum_old[<?php echo $cur_perm['g_id'] ?>]" value="<?php echo ($read_forum) ? '1' : '0' ?>" />
616:                             <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="read_forum_new[<?php echo $cur_perm['g_id'] ?>]" value="1"<?php if ($read_forum) echo ' checked="checked"'; echo ($cur_perm['g_read_board'] == '0') ? ' disabled="disabled"' : ''; ?> /></span>616:                             <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="read_forum_new[<?php echo $cur_perm['g_id'] ?>]" value="1"<?php if ($read_forum) echo ' checked="checked"'; echo ($cur_perm['g_read_board'] == '0') ? ' disabled="disabled"' : ''; ?> /></span>
617:                             <label for="fld<?php echo $forum_page['fld_count'] ?>"<?php if (!$read_forum_def) echo ' class="warn"' ?>><?php echo $lang_admin_forums['Read forum'] ?> <?php if (!$read_forum_def) echo $lang_admin_forums['Not default']  ?></label>617:                             <label for="fld<?php echo $forum_page['fld_count'] ?>"<?php if (!$read_forum_def) echo ' class="warn"' ?>><?php echo $lang_admin_forums['Read forum'] ?> <?php if (!$read_forum_def) echo $lang_admin_forums['Not default'] ?></label>
618:                         </div>618:                         </div>
619: <?php ($hook = get_hook('afo_edit_forum_pre_cur_group_post_replies_permission')) ? eval($hook) : null; ?>619: <?php ($hook = get_hook('afo_edit_forum_pre_cur_group_post_replies_permission')) ? eval($hook) : null; ?>
620:                         <div class="mf-item">620:                         <div class="mf-item">
621:                             <input type="hidden" name="post_replies_old[<?php echo $cur_perm['g_id'] ?>]" value="<?php echo ($post_replies) ? '1' : '0'; ?>" />621:                             <input type="hidden" name="post_replies_old[<?php echo $cur_perm['g_id'] ?>]" value="<?php echo ($post_replies) ? '1' : '0' ?>" />
622:                             <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="post_replies_new[<?php echo $cur_perm['g_id'] ?>]" value="1"<?php if ($post_replies) echo ' checked="checked"'; echo ($cur_forum['redirect_url'] != '') ? ' disabled="disabled"' : ''; ?> /></span>622:                             <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="post_replies_new[<?php echo $cur_perm['g_id'] ?>]" value="1"<?php if ($post_replies) echo ' checked="checked"'; echo ($cur_forum['redirect_url'] != '') ? ' disabled="disabled"' : ''; ?> /></span>
623:                             <label for="fld<?php echo $forum_page['fld_count'] ?>"<?php if (!$post_replies_def) echo ' class="warn"'; ?>><?php echo $lang_admin_forums['Post replies'] ?> <?php if (!$post_replies_def) echo $lang_admin_forums['Not default'] ?></label>623:                             <label for="fld<?php echo $forum_page['fld_count'] ?>"<?php if (!$post_replies_def) echo ' class="warn"'; ?>><?php echo $lang_admin_forums['Post replies'] ?> <?php if (!$post_replies_def) echo $lang_admin_forums['Not default'] ?></label>
624:                         </div>624:                         </div>
625: <?php ($hook = get_hook('afo_edit_forum_pre_cur_group_post_topics_permission')) ? eval($hook) : null; ?>625: <?php ($hook = get_hook('afo_edit_forum_pre_cur_group_post_topics_permission')) ? eval($hook) : null; ?>
626:                         <div class="mf-item">626:                         <div class="mf-item">
627:                             <input type="hidden" name="post_topics_old[<?php echo $cur_perm['g_id'] ?>]" value="<?php echo ($post_topics) ? '1' : '0'; ?>" />627:                             <input type="hidden" name="post_topics_old[<?php echo $cur_perm['g_id'] ?>]" value="<?php echo ($post_topics) ? '1' : '0' ?>" />
628:                             <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="post_topics_new[<?php echo $cur_perm['g_id'] ?>]" value="1"<?php if ($post_topics) echo ' checked="checked"'; echo ($cur_forum['redirect_url'] != '') ? ' disabled="disabled"' : ''; ?> /></span>628:                             <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="post_topics_new[<?php echo $cur_perm['g_id'] ?>]" value="1"<?php if ($post_topics) echo ' checked="checked"'; echo ($cur_forum['redirect_url'] != '') ? ' disabled="disabled"' : ''; ?> /></span>
629:                             <label for="fld<?php echo $forum_page['fld_count'] ?>"<?php if (!$post_topics_def) echo ' class="warn"'; ?>><?php echo $lang_admin_forums['Post topics'] ?> <?php if (!$post_topics_def) echo $lang_admin_forums['Not default'] ?></label>629:                             <label for="fld<?php echo $forum_page['fld_count'] ?>"<?php if (!$post_topics_def) echo ' class="warn"'; ?>><?php echo $lang_admin_forums['Post topics'] ?> <?php if (!$post_topics_def) echo $lang_admin_forums['Not default'] ?></label>
630:                         </div>630:                         </div>
735:             </fieldset>735:             </fieldset>
736: <?php ($hook = get_hook('afo_add_forum_fieldset_end')) ? eval($hook) : null; ?>736: <?php ($hook = get_hook('afo_add_forum_fieldset_end')) ? eval($hook) : null; ?>
737:             <div class="frm-buttons">737:             <div class="frm-buttons">
738:                 <span class="submit"><input type="submit" name="add_forum" value=" <?php echo $lang_admin_forums['Add forum'] ?> " /></span>738:                 <span class="submit primary"><input type="submit" name="add_forum" value=" <?php echo $lang_admin_forums['Add forum'] ?> " /></span>
739:             </div>739:             </div>
740:         </form>740:         </form>
741:     </div>741:     </div>
806: ($hook = get_hook('afo_pre_edit_cur_forum_fieldset')) ? eval($hook) : null;806: ($hook = get_hook('afo_pre_edit_cur_forum_fieldset')) ? eval($hook) : null;
807: 807: 
808: ?>808: ?>
809:                 <fieldset id="forum<? echo $cur_forum['fid']; ?>" class="mf-set set<?php echo ++$forum_page['item_count'] ?><?php echo ($forum_page['item_count'] == 1) ? ' mf-head' : ' mf-extra' ?>">809:                 <fieldset id="forum<?php echo $cur_forum['fid'] ?>" class="mf-set set<?php echo ++$forum_page['item_count'] ?><?php echo ($forum_page['item_count'] == 1) ? ' mf-head' : ' mf-extra' ?>">
810:                     <legend><span><?php printf($lang_admin_forums['Edit or delete'], '<a href="'.forum_link($forum_url['admin_forums']).'?edit_forum='.$cur_forum['fid'].'">'.$lang_admin_forums['Edit'].'</a>', '<a href="'.forum_link($forum_url['admin_forums']).'?del_forum='.$cur_forum['fid'].'">'.$lang_admin_forums['Delete'].'</a>') ?></span></legend>810:                     <legend><span><?php printf($lang_admin_forums['Edit or delete'], '<a href="'.forum_link($forum_url['admin_forums']).'?edit_forum='.$cur_forum['fid'].'">'.$lang_admin_forums['Edit'].'</a>', '<a href="'.forum_link($forum_url['admin_forums']).'?del_forum='.$cur_forum['fid'].'">'.$lang_admin_forums['Delete'].'</a>') ?></span></legend>
811:                     <div class="mf-box">811:                     <div class="mf-box">
812: <?php ($hook = get_hook('afo_pre_edit_cur_forum_name')) ? eval($hook) : null; ?>812: <?php ($hook = get_hook('afo_pre_edit_cur_forum_name')) ? eval($hook) : null; ?>
832: ?>832: ?>
833:             </div>833:             </div>
834:             <div class="frm-buttons">834:             <div class="frm-buttons">
835:                 <span class="submit"><input type="submit" name="update_positions" value="<?php echo $lang_admin_forums['Update positions'] ?>" /></span>835:                 <span class="submit primary"><input type="submit" name="update_positions" value="<?php echo $lang_admin_forums['Update positions'] ?>" /></span>
836:             </div>836:             </div>
837:         </form>837:         </form>
838:     </div>838:     </div>


punbb-1.4.1/admin/groups.php punbb-1.4.2/admin/groups.php
  4:  *  4:  *
  5:  * Allows administrators to control group permissions.  5:  * Allows administrators to control group permissions.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
 99:     </div> 99:     </div>
100:     <div class="main-content main-frm">100:     <div class="main-content main-frm">
101:         <div id="req-msg" class="req-warn ct-box error-box">101:         <div id="req-msg" class="req-warn ct-box error-box">
102:             <p class="important"><?php echo $lang_admin_common['Required warn']; ?></p>102:             <p class="important"><?php echo $lang_admin_common['Required warn'] ?></p>
103:         </div>103:         </div>
104:         <form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo forum_link($forum_url['admin_groups']) ?>">104:         <form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo forum_link($forum_url['admin_groups']) ?>">
105:             <div class="hidden">105:             <div class="hidden">
304: 304: 
305: ?>305: ?>
306:             <div class="frm-buttons">306:             <div class="frm-buttons">
307:                 <span class="submit"><input type="submit" name="add_edit_group" value=" <?php echo $lang_admin_groups['Update group'] ?> " /></span>307:                 <span class="submit primary"><input type="submit" name="add_edit_group" value=" <?php echo $lang_admin_groups['Update group'] ?> " /></span>
308:             </div>308:             </div>
309:         </form>309:         </form>
310:     </div>310:     </div>
664:             </fieldset>664:             </fieldset>
665: <?php ($hook = get_hook('agr_del_group_del_fieldset_end')) ? eval($hook) : null; ?>665: <?php ($hook = get_hook('agr_del_group_del_fieldset_end')) ? eval($hook) : null; ?>
666:             <div class="frm-buttons">666:             <div class="frm-buttons">
667:                 <span class="submit"><input type="submit" name="del_group" value="<?php echo $lang_admin_groups['Remove group'] ?>" /></span>667:                 <span class="submit primary"><input type="submit" name="del_group" value="<?php echo $lang_admin_groups['Remove group'] ?>" /></span>
668:                 <span class="cancel"><input type="submit" name="del_group_cancel" value="<?php echo $lang_admin_common['Cancel'] ?>" /></span>668:                 <span class="cancel"><input type="submit" name="del_group_cancel" value="<?php echo $lang_admin_common['Cancel'] ?>" /></span>
669:             </div>669:             </div>
670:         </form>670:         </form>
743:             </fieldset>743:             </fieldset>
744: <?php ($hook = get_hook('agr_add_group_fieldset_end')) ? eval($hook) : null; ?>744: <?php ($hook = get_hook('agr_add_group_fieldset_end')) ? eval($hook) : null; ?>
745:             <div class="frm-buttons">745:             <div class="frm-buttons">
746:                 <span class="submit"><input type="submit" name="add_group" value="<?php echo $lang_admin_groups['Add group'] ?> " /></span>746:                 <span class="submit primary"><input type="submit" name="add_group" value="<?php echo $lang_admin_groups['Add group'] ?> " /></span>
747:             </div>747:             </div>
748:         </form>748:         </form>
749:     </div>749:     </div>
796:             </fieldset>796:             </fieldset>
797: <?php ($hook = get_hook('agr_default_group_fieldset_end')) ? eval($hook) : null; ?>797: <?php ($hook = get_hook('agr_default_group_fieldset_end')) ? eval($hook) : null; ?>
798:             <div class="frm-buttons">798:             <div class="frm-buttons">
799:                 <span class="submit"><input type="submit" name="set_default_group" value="<?php echo $lang_admin_groups['Set default'] ?>" /></span>799:                 <span class="submit primary"><input type="submit" name="set_default_group" value="<?php echo $lang_admin_groups['Set default'] ?>" /></span>
800:             </div>800:             </div>
801:         </form>801:         </form>
802:     </div>802:     </div>
846: ?>846: ?>
847:             <div class="ct-set set<?php echo ++$forum_page['item_count'] ?>">847:             <div class="ct-set set<?php echo ++$forum_page['item_count'] ?>">
848:                 <div class="ct-box">848:                 <div class="ct-box">
849:                     <h3 class="ct-legend hn"><span><?php echo forum_htmlencode($cur_group['g_title']) ?> <?php echo ($cur_group['g_id'] == $forum_config['o_default_user_group']) ? $lang_admin_groups['default'] : '' ?></span></h3>849:                     <h3 class="ct-legend hn"><span><?php echo forum_htmlencode($cur_group['g_title']) ?> <?php if ($cur_group['g_id'] == $forum_config['o_default_user_group']) echo $lang_admin_groups['default']; ?></span></h3>
850:                     <p class="options"><?php echo implode(' ', $forum_page['group_options']) ?></p>850:                     <p class="options"><?php echo implode(' ', $forum_page['group_options']) ?></p>
851:                 </div>851:                 </div>
852:             </div>852:             </div>


punbb-1.4.1/admin/index.php punbb-1.4.2/admin/index.php
  4:  *  4:  *
  5:  * Gives an overview of some statistics to administrators and moderators.  5:  * Gives an overview of some statistics to administrators and moderators.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
100: $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);100: $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
101: $num_online = $forum_db->result($result);101: $num_online = $forum_db->result($result);
102: 102: 
103: // Get the database system version 
104: $db_version = $forum_db->get_version(); 
105:  
106: // Collect some additional info about MySQL103: // Collect some additional info about MySQL
107: if (in_array($db_type, array('mysql', 'mysqli', 'mysql_innodb', 'mysqli_innodb')))104: if (in_array($db_type, array('mysql', 'mysqli', 'mysql_innodb', 'mysqli_innodb')))
108: {105: {
109:     $db_version = 'MySQL '.$db_version; 
110:  
111:     // Calculate total db size/row count106:     // Calculate total db size/row count
112:     $result = $forum_db->query('SHOW TABLE STATUS FROM `'.$db_name.'` LIKE \''.$db_prefix.'%\'') or error(__FILE__, __LINE__);107:     $result = $forum_db->query('SHOW TABLE STATUS FROM `'.$db_name.'` LIKE \''.$db_prefix.'%\'') or error(__FILE__, __LINE__);
113: 108: 


punbb-1.4.1/admin/install.php punbb-1.4.2/admin/install.php
  4:  *  4:  *
  5:  * Used to actually install PunBB.  5:  * Used to actually install PunBB.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
 11:  11: 
 12:  12: 
 13: define('FORUM_VERSION', '1.4.1'); 13: define('FORUM_VERSION', '1.4.2');
 14: define('FORUM_DB_REVISION', 5); 14: define('FORUM_DB_REVISION', 5);
 15: define('MIN_PHP_VERSION', '5.0.0'); 15: define('MIN_PHP_VERSION', '5.0.0');
 16: define('MIN_MYSQL_VERSION', '4.1.2'); 16: define('MIN_MYSQL_VERSION', '4.1.2');
 64:     $config_body .= "\n\n// Disable forum hooks (extensions) by removing // from the following line\n//define('FORUM_DISABLE_HOOKS', 1);"; 64:     $config_body .= "\n\n// Disable forum hooks (extensions) by removing // from the following line\n//define('FORUM_DISABLE_HOOKS', 1);";
 65:     $config_body .= "\n\n// Disable forum output buffering by removing // from the following line\n//define('FORUM_DISABLE_BUFFERING', 1);"; 65:     $config_body .= "\n\n// Disable forum output buffering by removing // from the following line\n//define('FORUM_DISABLE_BUFFERING', 1);";
 66:     $config_body .= "\n\n// Disable forum async JS loader by removing // from the following line\n//define('FORUM_DISABLE_ASYNC_JS_LOADER', 1);"; 66:     $config_body .= "\n\n// Disable forum async JS loader by removing // from the following line\n//define('FORUM_DISABLE_ASYNC_JS_LOADER', 1);";
  67:     $config_body .= "\n\n// Disable forum extensions version check by removing // from the following line\n//define('FORUM_DISABLE_EXTENSIONS_VERSION_CHECK', 1);";
 67:  68: 
 68:     return $config_body; 69:     return $config_body;
 69: } 70: }
142: <!--[if IE 8 ]>    <html class="oldie ie8" lang="en" dir="ltr"> <![endif]-->143: <!--[if IE 8 ]>    <html class="oldie ie8" lang="en" dir="ltr"> <![endif]-->
143: <!--[if gt IE 8]><!--> <html lang="en" dir="ltr"> <!--<![endif]-->144: <!--[if gt IE 8]><!--> <html lang="en" dir="ltr"> <!--<![endif]-->
144: <head>145: <head>
145:     <meta charset="utf-8"/>146:     <meta charset="utf-8" />
146:     <title>PunBB Installation</title>147:     <title>PunBB Installation</title>
147:     <link rel="stylesheet" type="text/css" href="<?php echo FORUM_ROOT ?>style/Oxygen/min/Oxygen.min.css" />148:     <link rel="stylesheet" type="text/css" href="<?php echo FORUM_ROOT ?>style/Oxygen/Oxygen.min.css" />
148: </head>149: </head>
149: <body>150: <body>
150: <div id="brd-install" class="brd-page">151: <div id="brd-install" class="brd-page">
187:             </div>188:             </div>
188:         </fieldset>189:         </fieldset>
189:         <div class="frm-buttons">190:         <div class="frm-buttons">
190:             <span class="submit"><input type="submit" name="changelang" value="<?php echo $lang_install['Choose language'] ?>" /></span>191:             <span class="submit primary"><input type="submit" name="changelang" value="<?php echo $lang_install['Choose language'] ?>" /></span>
191:         </div>192:         </div>
192:     </div>193:     </div>
193:     </form>194:     </form>
195: 196: 
196:     }197:     }
197: 198: 
198: ?>    <form class="frm-form" method="post" accept-charset="utf-8" action="install.php">199: ?>    <form class="frm-form frm-suggest-username" method="post" accept-charset="utf-8" action="install.php">
199:     <div class="hidden">200:     <div class="hidden">
200:         <input type="hidden" name="form_sent" value="1" />201:         <input type="hidden" name="form_sent" value="1" />
201:     </div>202:     </div>
214:             </ul>215:             </ul>
215:         </div>216:         </div>
216:         <div id="req-msg" class="req-warn ct-box error-box">217:         <div id="req-msg" class="req-warn ct-box error-box">
217:             <p class="important"><?php echo $lang_install['Required warn']; ?></p>218:             <p class="important"><?php echo $lang_install['Required warn'] ?></p>
218:         </div>219:         </div>
219:         <fieldset class="frm-group group1">220:         <fieldset class="frm-group group1">
220:             <legend class="group-legend"><strong><?php echo $lang_install['Part1 legend'] ?></strong></legend>221:             <legend class="group-legend"><strong><?php echo $lang_install['Part1 legend'] ?></strong></legend>
230: ?>                    </select></span>231: ?>                    </select></span>
231:                 </div>232:                 </div>
232:             </div>233:             </div>
233:             <div class="sf-set set1">234:             <div class="sf-set set1" id="db_host_block">
234:                 <div class="sf-box text required">235:                 <div class="sf-box text required">
235:                     <label for="fld2"><span><?php echo $lang_install['Database server'] ?></span> <small><?php echo $lang_install['Database server help'] ?></small></label><br />236:                     <label for="db_host"><span><?php echo $lang_install['Database server'] ?></span> <small><?php echo $lang_install['Database server help'] ?></small></label><br />
236:                     <span class="fld-input"><input id="fld2" type="text" name="req_db_host" value="localhost" size="35" maxlength="100" required /></span>237:                     <span class="fld-input"><input id="db_host" type="text" name="req_db_host" value="localhost" size="35" maxlength="100" required /></span>
237:                 </div>238:                 </div>
238:             </div>239:             </div>
239:             <div class="sf-set set2">240:             <div class="sf-set set2">
272:         </div>273:         </div>
273:         <fieldset class="frm-group group1">274:         <fieldset class="frm-group group1">
274:             <legend class="group-legend"><strong><?php echo $lang_install['Part2 legend'] ?></strong></legend>275:             <legend class="group-legend"><strong><?php echo $lang_install['Part2 legend'] ?></strong></legend>
275:             <div class="sf-set set1">276:             <div class="sf-set set4">
276:                 <div class="sf-box text required">277:                 <div class="sf-box text required">
277:                     <label for="fld7"><span><?php echo $lang_install['Admin username'] ?></span> <small><?php echo $lang_install['Username help'] ?></small></label><br />278:                     <label for="admin_email"><span><?php echo $lang_install['Admin e-mail'] ?></span> <small><?php echo $lang_install['E-mail address help'] ?></small></label><br />
278:                     <span class="fld-input"><input id="fld7" type="text" name="req_username" size="35" maxlength="25" required /></span>279:                     <span class="fld-input"><input id="admin_email" type="email" data-suggest-role="email" name="req_email" size="35" maxlength="80" required /></span>
279:                 </div>280:                 </div>
280:             </div>281:             </div>
281:             <div class="sf-set set2">282:             <div class="sf-set set1 prepend-top">
282:                 <div class="sf-box text required">283:                 <div class="sf-box text required">
283:                     <label for="fld8"><span><?php echo $lang_install['Admin password'] ?></span> <small><?php echo $lang_install['Password help'] ?></small></label><br />284:                     <label for="admin_username"><span><?php echo $lang_install['Admin username'] ?></span> <small><?php echo $lang_install['Username help'] ?></small></label><br />
284:                     <span class="fld-input"><input id="fld8" type="text" name="req_password1" size="35" required autocomplete="off" /></span>285:                     <span class="fld-input"><input id="admin_username" type="text" data-suggest-role="username" name="req_username" size="35" maxlength="25" required /></span>
285:                 </div>286:                 </div>
286:             </div>287:             </div>
287:             <div class="sf-set set4 prepend-top">288:             <div class="sf-set set2">
288:                 <div class="sf-box text required">289:                 <div class="sf-box text required">
289:                     <label for="fld9"><span><?php echo $lang_install['Admin e-mail'] ?></span> <small><?php echo $lang_install['E-mail address help'] ?></small></label><br />290:                     <label for="fld8"><span><?php echo $lang_install['Admin password'] ?></span> <small><?php echo $lang_install['Password help'] ?></small></label><br />
290:                     <span class="fld-input"><input id="fld9" type="email" name="req_email" size="35" maxlength="80" required /></span>291:                     <span class="fld-input"><input id="fld8" type="text" name="req_password1" size="35" required autocomplete="off" /></span>
291:                 </div>292:                 </div>
292:             </div>293:             </div>
293:         </fieldset>294:         </fieldset>
334:     {335:     {
335: 336: 
336: ?>            <div class="hidden">337: ?>            <div class="hidden">
337:                 <input type="hidden" name="req_language" value="<?php echo $languages[0]; ?>" />338:                 <input type="hidden" name="req_language" value="<?php echo $languages[0] ?>" />
338:             </div>339:             </div>
339: <?php340: <?php
340:     }341:     }
1911: <!--[if IE 8 ]>    <html class="oldie ie8" lang="en" dir="ltr"> <![endif]-->1912: <!--[if IE 8 ]>    <html class="oldie ie8" lang="en" dir="ltr"> <![endif]-->
1912: <!--[if gt IE 8]><!--> <html lang="en" dir="ltr"> <!--<![endif]-->1913: <!--[if gt IE 8]><!--> <html lang="en" dir="ltr"> <!--<![endif]-->
1913: <head>1914: <head>
1914:     <meta charset="utf-8"/>1915:     <meta charset="utf-8" />
1915:     <title>PunBB Installation</title>1916:     <title>PunBB Installation</title>
1916:     <link rel="stylesheet" type="text/css" href="<?php echo FORUM_ROOT ?>style/Oxygen/min/Oxygen.min.css" />1917:     <link rel="stylesheet" type="text/css" href="<?php echo FORUM_ROOT ?>style/Oxygen/Oxygen.min.css" />
1917: </head>1918: </head>
1918: <body>1919: <body>
1919: <div id="brd-install" class="brd-page">1920: <div id="brd-install" class="brd-page">
1946:                 <form class="frm-form" method="post" accept-charset="utf-8" action="install.php">1947:                 <form class="frm-form" method="post" accept-charset="utf-8" action="install.php">
1947:                     <div class="hidden">1948:                     <div class="hidden">
1948:                     <input type="hidden" name="generate_config" value="1" />1949:                     <input type="hidden" name="generate_config" value="1" />
1949:                     <input type="hidden" name="db_type" value="<?php echo $db_type; ?>" />1950:                     <input type="hidden" name="db_type" value="<?php echo $db_type ?>" />
1950:                     <input type="hidden" name="db_host" value="<?php echo $db_host; ?>" />1951:                     <input type="hidden" name="db_host" value="<?php echo $db_host ?>" />
1951:                     <input type="hidden" name="db_name" value="<?php echo forum_htmlencode($db_name); ?>" />1952:                     <input type="hidden" name="db_name" value="<?php echo forum_htmlencode($db_name) ?>" />
1952:                     <input type="hidden" name="db_username" value="<?php echo forum_htmlencode($db_username); ?>" />1953:                     <input type="hidden" name="db_username" value="<?php echo forum_htmlencode($db_username) ?>" />
1953:                     <input type="hidden" name="db_password" value="<?php echo forum_htmlencode($db_password); ?>" />1954:                     <input type="hidden" name="db_password" value="<?php echo forum_htmlencode($db_password) ?>" />
1954:                     <input type="hidden" name="db_prefix" value="<?php echo forum_htmlencode($db_prefix); ?>" />1955:                     <input type="hidden" name="db_prefix" value="<?php echo forum_htmlencode($db_prefix) ?>" />
1955:                     <input type="hidden" name="base_url" value="<?php echo forum_htmlencode($base_url); ?>" />1956:                     <input type="hidden" name="base_url" value="<?php echo forum_htmlencode($base_url) ?>" />
1956:                     <input type="hidden" name="cookie_name" value="<?php echo forum_htmlencode($cookie_name); ?>" />1957:                     <input type="hidden" name="cookie_name" value="<?php echo forum_htmlencode($cookie_name) ?>" />
1957:                     </div>1958:                     </div>
1958:                     <div class="frm-buttons">1959:                     <div class="frm-buttons">
1959:                         <span class="submit"><input type="submit" value="<?php echo $lang_install['Download config'] ?>" /></span>1960:                         <span class="submit"><input type="submit" value="<?php echo $lang_install['Download config'] ?>" /></span>


punbb-1.4.1/admin/prune.php punbb-1.4.2/admin/prune.php
  4:  *  4:  *
  5:  * Allows administrators to delete older topics from the site.  5:  * Allows administrators to delete older topics from the site.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
152:             </div>152:             </div>
153: <?php ($hook = get_hook('apr_prune_comply_pre_buttons')) ? eval($hook) : null; ?>153: <?php ($hook = get_hook('apr_prune_comply_pre_buttons')) ? eval($hook) : null; ?>
154:             <div class="frm-buttons">154:             <div class="frm-buttons">
155:                 <span class="submit"><input type="submit" name="prune_comply" value="<?php echo $lang_admin_prune['Prune topics'] ?>" /></span>155:                 <span class="submit primary"><input type="submit" name="prune_comply" value="<?php echo $lang_admin_prune['Prune topics'] ?>" /></span>
156:             </div>156:             </div>
157:         </form>157:         </form>
158:     </div>158:     </div>
205:             <p class="important"><?php echo $lang_admin_prune['Prune caution'] ?></p>205:             <p class="important"><?php echo $lang_admin_prune['Prune caution'] ?></p>
206:         </div>206:         </div>
207:         <div id="req-msg" class="req-warn ct-box error-box">207:         <div id="req-msg" class="req-warn ct-box error-box">
208:             <p class="important"><?php echo $lang_admin_common['Required warn']; ?></p>208:             <p class="important"><?php echo $lang_admin_common['Required warn'] ?></p>
209:         </div>209:         </div>
210:         <form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo forum_link($forum_url['admin_prune']) ?>?action=foo">210:         <form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo forum_link($forum_url['admin_prune']) ?>?action=foo">
211:             <div class="hidden">211:             <div class="hidden">
270:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">270:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
271:                     <div class="sf-box checkbox">271:                     <div class="sf-box checkbox">
272:                         <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="prune_sticky" value="1" checked="checked" /></span>272:                         <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="prune_sticky" value="1" checked="checked" /></span>
273:                         <label for="fld<?php echo $forum_page['fld_count'] ?>"><span><?php echo $lang_admin_prune['Prune sticky'] ?></span> <?php echo $lang_admin_prune['Prune sticky enable'] ?></label>273:                         <label for="fld<?php echo $forum_page['fld_count'] ?>"><?php echo $lang_admin_prune['Prune sticky enable'] ?></label>
274:                     </div>274:                     </div>
275:                 </div>275:                 </div>
276: <?php ($hook = get_hook('apr_pre_prune_fieldset_end')) ? eval($hook) : null; ?>276: <?php ($hook = get_hook('apr_pre_prune_fieldset_end')) ? eval($hook) : null; ?>
277:             </fieldset>277:             </fieldset>
278: <?php ($hook = get_hook('apr_prune_fieldset_end')) ? eval($hook) : null; ?>278: <?php ($hook = get_hook('apr_prune_fieldset_end')) ? eval($hook) : null; ?>
279:             <div class="frm-buttons">279:             <div class="frm-buttons">
280:                 <span class="submit"><input type="submit" name="prune" value="<?php echo $lang_admin_prune['Prune topics'] ?>" /></span>280:                 <span class="submit primary"><input type="submit" name="prune" value="<?php echo $lang_admin_prune['Prune topics'] ?>" /></span>
281:             </div>281:             </div>
282:         </form>282:         </form>
283:     </div>283:     </div>


punbb-1.4.1/admin/ranks.php punbb-1.4.2/admin/ranks.php
  4:  *  4:  *
  5:  * Allows administrators to control the tags given to posters based on their post count.  5:  * Allows administrators to control the tags given to posters based on their post count.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */


punbb-1.4.1/admin/reindex.php punbb-1.4.2/admin/reindex.php
  4:  *  4:  *
  5:  * Allows administrators to rebuild the index used to search the posts and topics.  5:  * Allows administrators to rebuild the index used to search the posts and topics.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
212:         <h2 class="hn"><span><?php echo $lang_admin_reindex['Reindex heading'] ?></span></h2>212:         <h2 class="hn"><span><?php echo $lang_admin_reindex['Reindex heading'] ?></span></h2>
213:     </div>213:     </div>
214:     <div class="main-content main-frm">214:     <div class="main-content main-frm">
215:         <div class="ct-box">215:         <div class="ct-box warn-box">
216:             <p><?php echo $lang_admin_reindex['Reindex info'] ?></p>216:             <p><?php echo $lang_admin_reindex['Reindex info'] ?></p>
 217:             <p class="important"><?php echo $lang_admin_reindex['Reindex warning'] ?></p>
 218:             <p class="warn"><?php echo $lang_admin_reindex['Empty index warning'] ?></p>
217:         </div>219:         </div>
218:         <form class="frm-form" method="get" accept-charset="utf-8" action="<?php echo forum_link($forum_url['admin_reindex']) ?>">220:         <form class="frm-form" method="get" accept-charset="utf-8" action="<?php echo forum_link($forum_url['admin_reindex']) ?>">
219:             <div class="hidden">221:             <div class="hidden">
240:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">242:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
241:                     <div class="sf-box checkbox">243:                     <div class="sf-box checkbox">
242:                         <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="i_empty_index" value="1" checked="checked" /></span>244:                         <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="i_empty_index" value="1" checked="checked" /></span>
243:                         <label for="fld<?php echo $forum_page['fld_count'] ?>"><span><?php echo $lang_admin_reindex['Empty index'] ?></span> <?php echo $lang_admin_reindex['Empty index info'] ?></label>245:                         <label for="fld<?php echo $forum_page['fld_count'] ?>"><?php echo $lang_admin_reindex['Empty index'] ?></label>
244:                     </div>246:                     </div>
245:                 </div>247:                 </div>
246: <?php ($hook = get_hook('ari_pre_rebuild_fieldset_end')) ? eval($hook) : null; ?>248: <?php ($hook = get_hook('ari_pre_rebuild_fieldset_end')) ? eval($hook) : null; ?>
247:             </fieldset>249:             </fieldset>
248: <?php ($hook = get_hook('ari_rebuild_fieldset_end')) ? eval($hook) : null; ?>250: <?php ($hook = get_hook('ari_rebuild_fieldset_end')) ? eval($hook) : null; ?>
249:             <div class="ct-box warn-box"> 
250:                 <p class="important"><?php echo $lang_admin_reindex['Reindex warning'] ?></p> 
251:                 <p class="warn"><?php echo $lang_admin_reindex['Empty index warning'] ?></p> 
252:             </div> 
253:             <div class="frm-buttons">251:             <div class="frm-buttons">
254:                 <span class="submit"><input type="submit" name="rebuild_index" value="<?php echo $lang_admin_reindex['Rebuild index'] ?>" /></span>252:                 <span class="submit primary"><input type="submit" name="rebuild_index" value="<?php echo $lang_admin_reindex['Rebuild index'] ?>" /></span>
255:             </div>253:             </div>
256:         </form>254:         </form>
257:     </div>255:     </div>


punbb-1.4.1/admin/reports.php punbb-1.4.2/admin/reports.php
  4:  *  4:  *
  5:  * Allows administrators and moderators to handle reported posts.  5:  * Allows administrators and moderators to handle reported posts.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
134:         $forum = ($cur_report['forum_name'] != '') ? '<a href="'.forum_link($forum_url['forum'], array($cur_report['forum_id'], sef_friendly($cur_report['forum_name']))).'">'.forum_htmlencode($cur_report['forum_name']).'</a>' : $lang_admin_reports['Deleted forum'];134:         $forum = ($cur_report['forum_name'] != '') ? '<a href="'.forum_link($forum_url['forum'], array($cur_report['forum_id'], sef_friendly($cur_report['forum_name']))).'">'.forum_htmlencode($cur_report['forum_name']).'</a>' : $lang_admin_reports['Deleted forum'];
135:         $topic = ($cur_report['subject'] != '') ? '<a href="'.forum_link($forum_url['topic'], array($cur_report['topic_id'], sef_friendly($cur_report['subject']))).'">'.forum_htmlencode($cur_report['subject']).'</a>' : $lang_admin_reports['Deleted topic'];135:         $topic = ($cur_report['subject'] != '') ? '<a href="'.forum_link($forum_url['topic'], array($cur_report['topic_id'], sef_friendly($cur_report['subject']))).'">'.forum_htmlencode($cur_report['subject']).'</a>' : $lang_admin_reports['Deleted topic'];
136:         $message = str_replace("\n", '<br />', forum_htmlencode($cur_report['message']));136:         $message = str_replace("\n", '<br />', forum_htmlencode($cur_report['message']));
137:         $post_id = ($cur_report['pid'] != '') ? '<a href="'.forum_link($forum_url['post'], $cur_report['pid']).'">Post #'.$cur_report['pid'].'</a>' : $lang_admin_reports['Deleted post'];137:         $post_id = ($cur_report['pid'] != '') ? '<a href="'.forum_link($forum_url['post'], $cur_report['pid']).'">'.sprintf($lang_admin_reports['Post'], $cur_report['pid']).'</a>' : $lang_admin_reports['Deleted post'];
138: 138: 
139:         ($hook = get_hook('arp_new_report_pre_display')) ? eval($hook) : null;139:         ($hook = get_hook('arp_new_report_pre_display')) ? eval($hook) : null;
140: 140: 
155: ?>155: ?>
156:             <div class="frm-buttons">156:             <div class="frm-buttons">
157:                 <span class="select-all js_link" data-check-form="arp-new-report-form"><?php echo $lang_admin_common['Select all'] ?></span>157:                 <span class="select-all js_link" data-check-form="arp-new-report-form"><?php echo $lang_admin_common['Select all'] ?></span>
158:                 <span class="submit"><input type="submit" name="mark_as_read" value="<?php echo $lang_admin_reports['Mark read'] ?>" /></span>158:                 <span class="submit primary"><input type="submit" name="mark_as_read" value="<?php echo $lang_admin_reports['Mark read'] ?>" /></span>
159:             </div>159:             </div>
160:         </form>160:         </form>
161:     </div>161:     </div>
224:         $forum = ($cur_report['forum_name'] != '') ? '<a href="'.forum_link($forum_url['forum'], array($cur_report['forum_id'], sef_friendly($cur_report['forum_name']))).'">'.forum_htmlencode($cur_report['forum_name']).'</a>' : $lang_admin_reports['Deleted forum'];224:         $forum = ($cur_report['forum_name'] != '') ? '<a href="'.forum_link($forum_url['forum'], array($cur_report['forum_id'], sef_friendly($cur_report['forum_name']))).'">'.forum_htmlencode($cur_report['forum_name']).'</a>' : $lang_admin_reports['Deleted forum'];
225:         $topic = ($cur_report['subject'] != '') ? '<a href="'.forum_link($forum_url['topic'], array($cur_report['topic_id'], sef_friendly($cur_report['subject']))).'">'.forum_htmlencode($cur_report['subject']).'</a>' : $lang_admin_reports['Deleted topic'];225:         $topic = ($cur_report['subject'] != '') ? '<a href="'.forum_link($forum_url['topic'], array($cur_report['topic_id'], sef_friendly($cur_report['subject']))).'">'.forum_htmlencode($cur_report['subject']).'</a>' : $lang_admin_reports['Deleted topic'];
226:         $message = str_replace("\n", '<br />', forum_htmlencode($cur_report['message']));226:         $message = str_replace("\n", '<br />', forum_htmlencode($cur_report['message']));
227:         $post_id = ($cur_report['pid'] != '') ? '<a href="'.forum_link($forum_url['post'], $cur_report['pid']).'">Post #'.$cur_report['pid'].'</a>' : $lang_admin_reports['Deleted post'];227:         $post_id = ($cur_report['pid'] != '') ? '<a href="'.forum_link($forum_url['post'], $cur_report['pid']).'">'.sprintf($lang_admin_reports['Post'], $cur_report['pid']).'</a>' : $lang_admin_reports['Deleted post'];
228:         $zapped_by = ($cur_report['zapped_by'] != '') ? '<a href="'.forum_link($forum_url['user'], $cur_report['zapped_by_id']).'">'.forum_htmlencode($cur_report['zapped_by']).'</a>' : $lang_admin_reports['Deleted user'];228:         $zapped_by = ($cur_report['zapped_by'] != '') ? '<a href="'.forum_link($forum_url['user'], $cur_report['zapped_by_id']).'">'.forum_htmlencode($cur_report['zapped_by']).'</a>' : $lang_admin_reports['Deleted user'];
229: 229: 
230:         ($hook = get_hook('arp_report_pre_display')) ? eval($hook) : null;230:         ($hook = get_hook('arp_report_pre_display')) ? eval($hook) : null;


punbb-1.4.1/admin/settings.php punbb-1.4.2/admin/settings.php
  4:  *  4:  *
  5:  * Allows administrators to control many of the settings used in the site.  5:  * Allows administrators to control many of the settings used in the site.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
434: <?php ($hook = get_hook('aop_setup_pre_default_dst')) ? eval($hook) : null; ?>434: <?php ($hook = get_hook('aop_setup_pre_default_dst')) ? eval($hook) : null; ?>
435:                     <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">435:                     <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
436:                         <div class="sf-box checkbox">436:                         <div class="sf-box checkbox">
437:                             <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="form[default_dst]" value="1" <?php if ($forum_config['o_default_dst'] == 1) echo 'checked="checked" ' ?>/></span>437:                             <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="form[default_dst]" value="1"<?php if ($forum_config['o_default_dst'] == 1) echo ' checked="checked"' ?> /></span>
438:                             <label for="fld<?php echo $forum_page['fld_count'] ?>"><?php echo $lang_admin_settings['DST label'] ?></label>438:                             <label for="fld<?php echo $forum_page['fld_count'] ?>"><?php echo $lang_admin_settings['DST label'] ?></label>
439:                         </div>439:                         </div>
440:                     </div>440:                     </div>
629:                 </fieldset>629:                 </fieldset>
630: <?php ($hook = get_hook('aop_setup_links_fieldset_end')) ? eval($hook) : null; ?>630: <?php ($hook = get_hook('aop_setup_links_fieldset_end')) ? eval($hook) : null; ?>
631:             <div class="frm-buttons">631:             <div class="frm-buttons">
632:                 <span class="submit"><input type="submit" name="save" value="<?php echo $lang_admin_common['Save changes'] ?>" /></span>632:                 <span class="submit primary"><input type="submit" name="save" value="<?php echo $lang_admin_common['Save changes'] ?>" /></span>
633:             </div>633:             </div>
634:         </form>634:         </form>
635:     </div>635:     </div>
1065:             </fieldset>1065:             </fieldset>
1066: <?php ($hook = get_hook('aop_features_gzip_fieldset_end')) ? eval($hook) : null; ?>1066: <?php ($hook = get_hook('aop_features_gzip_fieldset_end')) ? eval($hook) : null; ?>
1067:             <div class="frm-buttons">1067:             <div class="frm-buttons">
1068:                 <span class="submit"><input type="submit" name="save" value="<?php echo $lang_admin_common['Save changes'] ?>" /></span>1068:                 <span class="submit primary"><input type="submit" name="save" value="<?php echo $lang_admin_common['Save changes'] ?>" /></span>
1069:             </div>1069:             </div>
1070:         </form>1070:         </form>
1071:     </div>1071:     </div>
1134:             </fieldset>1134:             </fieldset>
1135: <?php ($hook = get_hook('aop_announcements_announcement_fieldset_end')) ? eval($hook) : null; ?>1135: <?php ($hook = get_hook('aop_announcements_announcement_fieldset_end')) ? eval($hook) : null; ?>
1136:             <div class="frm-buttons">1136:             <div class="frm-buttons">
1137:                 <span class="submit"><input type="submit" name="save" value="<?php echo $lang_admin_common['Save changes'] ?>" /></span>1137:                 <span class="submit primary"><input type="submit" name="save" value="<?php echo $lang_admin_common['Save changes'] ?>" /></span>
1138:             </div>1138:             </div>
1139:         </form>1139:         </form>
1140:     </div>1140:     </div>
1274:                 </fieldset>1274:                 </fieldset>
1275: <?php ($hook = get_hook('aop_registration_rules_fieldset_end')) ? eval($hook) : null; ?>1275: <?php ($hook = get_hook('aop_registration_rules_fieldset_end')) ? eval($hook) : null; ?>
1276:                 <div class="frm-buttons">1276:                 <div class="frm-buttons">
1277:                     <span class="submit"><input type="submit" name="save" value="<?php echo $lang_admin_common['Save changes'] ?>" /></span>1277:                     <span class="submit primary"><input type="submit" name="save" value="<?php echo $lang_admin_common['Save changes'] ?>" /></span>
1278:                 </div>1278:                 </div>
1279:         </form>1279:         </form>
1280:     </div>1280:     </div>
1327:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">1327:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
1328:                     <div class="sf-box checkbox">1328:                     <div class="sf-box checkbox">
1329:                         <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="form[maintenance]" value="1"<?php if ($forum_config['o_maintenance'] == '1') echo ' checked="checked"' ?> /></span>1329:                         <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="form[maintenance]" value="1"<?php if ($forum_config['o_maintenance'] == '1') echo ' checked="checked"' ?> /></span>
1330:                         <label for="fld<?php echo $forum_page['fld_count'] ?>"><span><?php echo $lang_admin_settings['Maintenance mode'] ?></span> <?php echo $lang_admin_settings['Maintenance mode label'] ?></label>1330:                         <label for="fld<?php echo $forum_page['fld_count'] ?>"><?php echo $lang_admin_settings['Maintenance mode label'] ?></label>
1331:                     </div>1331:                     </div>
1332:                 </div>1332:                 </div>
1333: <?php ($hook = get_hook('aop_maintenance_pre_maintenance_message')) ? eval($hook) : null; ?>1333: <?php ($hook = get_hook('aop_maintenance_pre_maintenance_message')) ? eval($hook) : null; ?>
1341:             </fieldset>1341:             </fieldset>
1342: <?php ($hook = get_hook('aop_maintenance_maintenance_fieldset_end')) ? eval($hook) : null; ?>1342: <?php ($hook = get_hook('aop_maintenance_maintenance_fieldset_end')) ? eval($hook) : null; ?>
1343:             <div class="frm-buttons">1343:             <div class="frm-buttons">
1344:                 <span class="submit"><input type="submit" name="save" value="<?php echo $lang_admin_common['Save changes'] ?>" /></span>1344:                 <span class="submit primary"><input type="submit" name="save" value="<?php echo $lang_admin_common['Save changes'] ?>" /></span>
1345:             </div>1345:             </div>
1346:         </form>1346:         </form>
1347:     </div>1347:     </div>
1458:                 </fieldset>1458:                 </fieldset>
1459: <?php ($hook = get_hook('aop_email_smtp_fieldset_end')) ? eval($hook) : null; ?>1459: <?php ($hook = get_hook('aop_email_smtp_fieldset_end')) ? eval($hook) : null; ?>
1460:             <div class="frm-buttons">1460:             <div class="frm-buttons">
1461:                 <span class="submit"><input type="submit" name="save" value="<?php echo $lang_admin_common['Save changes'] ?>" /></span>1461:                 <span class="submit primary"><input type="submit" name="save" value="<?php echo $lang_admin_common['Save changes'] ?>" /></span>
1462:             </div>1462:             </div>
1463:         </form>1463:         </form>
1464:     </div>1464:     </div>


punbb-1.4.1/admin/users.php punbb-1.4.2/admin/users.php
  4:  *  4:  *
  5:  * Allows administrators or moderators to search the existing users based on various criteria.  5:  * Allows administrators or moderators to search the existing users based on various criteria.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
451:                 delete_user($id, isset($_POST['delete_posts']));451:                 delete_user($id, isset($_POST['delete_posts']));
452:         }452:         }
453: 453: 
 454:         // Remove cache file with forum stats
 455:         if (!defined('FORUM_CACHE_FUNCTIONS_LOADED'))
 456:         {
 457:             require FORUM_ROOT.'include/cache.php';
 458:         }
 459: 
 460:         clean_stats_cache();
 461: 
454:         ($hook = get_hook('aus_delete_users_pre_redirect')) ? eval($hook) : null;462:         ($hook = get_hook('aus_delete_users_pre_redirect')) ? eval($hook) : null;
455: 463: 
456:         redirect(forum_link($forum_url['admin_users']), $lang_admin_users['Users deleted']);464:         redirect(forum_link($forum_url['admin_users']), $lang_admin_users['Users deleted']);
502:                 </div>510:                 </div>
503:             </fieldset>511:             </fieldset>
504:             <div class="frm-buttons">512:             <div class="frm-buttons">
505:                 <span class="submit primary"><input type="submit" name="delete_users_comply" value="<?php echo $lang_admin_users['Delete users'] ?>" /></span>513:                 <span class="submit primary caution"><input type="submit" name="delete_users_comply" value="<?php echo $lang_admin_users['Delete users'] ?>" /></span>
506:                 <span class="cancel"><input type="submit" name="delete_users_cancel" value="<?php echo $lang_admin_common['Cancel'] ?>" /></span>514:                 <span class="cancel"><input type="submit" name="delete_users_cancel" value="<?php echo $lang_admin_common['Cancel'] ?>" /></span>
507:             </div>515:             </div>
508:         </form>516:         </form>
674:                 </div>682:                 </div>
675:             </fieldset>683:             </fieldset>
676:             <div class="frm-buttons">684:             <div class="frm-buttons">
677:                 <span class="submit"><input type="submit" name="ban_users_comply" value="<?php echo $lang_admin_users['Ban'] ?>" /></span>685:                 <span class="submit primary"><input type="submit" name="ban_users_comply" value="<?php echo $lang_admin_users['Ban'] ?>" /></span>
678:             </div>686:             </div>
679:         </form>687:         </form>
680:     </div>688:     </div>
1410:             </fieldset>1418:             </fieldset>
1411: <?php ($hook = get_hook('aus_search_form_results_fieldset_end')) ? eval($hook) : null; ?>1419: <?php ($hook = get_hook('aus_search_form_results_fieldset_end')) ? eval($hook) : null; ?>
1412:             <div class="frm-buttons">1420:             <div class="frm-buttons">
1413:                 <span class="submit"><input type="submit" name="find_user" value="<?php echo $lang_admin_users['Submit search'] ?>" /></span>1421:                 <span class="submit primary"><input type="submit" name="find_user" value="<?php echo $lang_admin_users['Submit search'] ?>" /></span>
1414:             </div>1422:             </div>
1415:         </form>1423:         </form>
1416:     </div>1424:     </div>
1440:             </fieldset>1448:             </fieldset>
1441: <?php ($hook = get_hook('aus_search_form_ip_search_fieldset_end')) ? eval($hook) : null; ?>1449: <?php ($hook = get_hook('aus_search_form_ip_search_fieldset_end')) ? eval($hook) : null; ?>
1442:             <div class="frm-buttons">1450:             <div class="frm-buttons">
1443:                 <span class="submit"><input type="submit" value=" <?php echo $lang_admin_users['Submit search'] ?> " /></span>1451:                 <span class="submit primary"><input type="submit" value=" <?php echo $lang_admin_users['Submit search'] ?> " /></span>
1444:             </div>1452:             </div>
1445:         </form>1453:         </form>
1446:     </div>1454:     </div>


punbb-1.4.1/ChangeLog punbb-1.4.2/ChangeLog
   1: PunBB 1.4.2
   2: 2012-02-09 20:36:00
   3: ====================
   4: 
   5:  * Oxygen style is updated.
   6:  * Errors are translatable.
   7:  * The link from the last part of breadcrumbs is removed.
   8:  * "Last edited message" is moved to the post header.
   9:  * Flash messages is automatically disabled in the case of a redirect with delay > 0.
  10:  * Fixed non-updated info block of the last registered user.
  11:  * Fixed redirect of a post to the previous one after its deleting. Fix #53.
  12:  * Fixed upload of avatars in open_basedir cases.
  13:  * Fixed censoring functions. Thanks to Gargaj for helping.
  14:  * Fixed all known "Full-path disclosure" errors.
  15:  * Fixed extension of  an updated subsystem - broken in 1.4.0.
  16:  * Fixed broken update in SQLite.
  17:  * Auto-suggest username from the email inserted in the registration form.
  18:  * New function to start a session - forum_session_start().
  19: 
  20: 
  1: PunBB 1.4.1 21: PunBB 1.4.1
  2: 2011-10-27 20:29:00 22: 2011-10-27 20:29:00
  3: ==================== 23: ====================


punbb-1.4.1/delete.php punbb-1.4.2/delete.php
  4:  *  4:  *
  5:  * Deletes the specified post (and, if necessary, the topic it is in).  5:  * Deletes the specified post (and, if necessary, the topic it is in).
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
102:         // Delete just this one post102:         // Delete just this one post
103:         delete_post($id, $cur_post['tid'], $cur_post['fid']);103:         delete_post($id, $cur_post['tid'], $cur_post['fid']);
104: 104: 
 105:         // Fetch previus post #id in some topic for redirect after delete
 106:         $query = array(
 107:             'SELECT'    => 'p.id',
 108:             'FROM'        => 'posts AS p',
 109:             'WHERE'        => 'p.topic_id = '.$cur_post['tid'].' AND p.id < '.$id,
 110:             'ORDER BY'    => 'p.id DESC',
 111:             'LIMIT'        => '1'
 112:         );
 113: 
 114:         ($hook = get_hook('dl_post_deleted_get_prev_post_id')) ? eval($hook) : null;
 115:         $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
 116:         $prev_post = $forum_db->fetch_assoc($result);
 117: 
105:         $forum_flash->add_info($lang_delete['Post del redirect']);118:         $forum_flash->add_info($lang_delete['Post del redirect']);
106: 119: 
107:         ($hook = get_hook('dl_post_deleted_pre_redirect')) ? eval($hook) : null;120:         ($hook = get_hook('dl_post_deleted_pre_redirect')) ? eval($hook) : null;
108: 121: 
109:         redirect(forum_link($forum_url['topic'], array($cur_post['tid'], sef_friendly($cur_post['subject']))), $lang_delete['Post del redirect']);122:         if (isset($prev_post['id']))
 123:         {
 124:             redirect(forum_link($forum_url['post'], $prev_post['id']), $lang_delete['Post del redirect']);
 125:         }
 126:         else
 127:         {
 128:             redirect(forum_link($forum_url['topic'], array($cur_post['tid'], sef_friendly($cur_post['subject']))), $lang_delete['Post del redirect']);
 129:         }
110:     }130:     }
111: }131: }
112: 132: 
128: // Setup form information148: // Setup form information
129: $forum_page['frm_info'] = array(149: $forum_page['frm_info'] = array(
130:     '<li><span>'.$lang_delete['Forum'].':<strong> '.forum_htmlencode($cur_post['forum_name']).'</strong></span></li>',150:     '<li><span>'.$lang_delete['Forum'].':<strong> '.forum_htmlencode($cur_post['forum_name']).'</strong></span></li>',
131:     '<li><span>'.$lang_delete['Topic'].':<strong> '.forum_htmlencode($cur_post['subject']).'</strong></span></li>',151:     '<li><span>'.$lang_delete['Topic'].':<strong> '.forum_htmlencode($cur_post['subject']).'</strong></span></li>'
132:     '<li><span>'.sprintf((($cur_post['is_topic']) ? $lang_delete['Delete topic info'] : $lang_delete['Delete post info']), forum_htmlencode($cur_post['poster']), format_time($cur_post['posted'])).'</span></li>' 
133: );152: );
134: 153: 
135: // Generate the post heading154: // Generate the post heading
206:             </fieldset>225:             </fieldset>
207: <?php ($hook = get_hook('dl_confirm_delete_fieldset_end')) ? eval($hook) : null; ?>226: <?php ($hook = get_hook('dl_confirm_delete_fieldset_end')) ? eval($hook) : null; ?>
208:             <div class="frm-buttons">227:             <div class="frm-buttons">
209:                 <span class="submit primary"><input type="submit" name="delete" value="<?php echo ($cur_post['is_topic']) ? $lang_delete['Delete topic'] : $lang_delete['Delete post'] ?>" /></span>228:                 <span class="submit primary caution"><input type="submit" name="delete" value="<?php echo ($cur_post['is_topic']) ? $lang_delete['Delete topic'] : $lang_delete['Delete post'] ?>" /></span>
210:                 <span class="cancel"><input type="submit" name="cancel" value="<?php echo $lang_common['Cancel'] ?>" formnovalidate /></span>229:                 <span class="cancel"><input type="submit" name="cancel" value="<?php echo $lang_common['Cancel'] ?>" formnovalidate /></span>
211:             </div>230:             </div>
212:         </form>231:         </form>


punbb-1.4.1/edit.php punbb-1.4.2/edit.php
  4:  *  4:  *
  5:  * Modifies the contents of the specified post.  5:  * Modifies the contents of the specified post.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
284: 284: 
285: ?>285: ?>
286:         <div id="req-msg" class="req-warn ct-box error-box">286:         <div id="req-msg" class="req-warn ct-box error-box">
287:             <p class="important"><?php echo $lang_common['Required warn']; ?></p>287:             <p class="important"><?php echo $lang_common['Required warn'] ?></p>
288:         </div>288:         </div>
289:         <form id="afocus" class="frm-form frm-ctrl-submit" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>"<?php if (!empty($forum_page['form_attributes'])) echo ' '.implode(' ', $forum_page['form_attributes']) ?>>289:         <form id="afocus" class="frm-form frm-ctrl-submit" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>"<?php if (!empty($forum_page['form_attributes'])) echo ' '.implode(' ', $forum_page['form_attributes']) ?>>
290:             <div class="hidden">290:             <div class="hidden">
303: <?php endif; ($hook = get_hook('ed_pre_message_box')) ? eval($hook) : null; ?>                <div class="txt-set set<?php echo ++$forum_page['item_count'] ?>">303: <?php endif; ($hook = get_hook('ed_pre_message_box')) ? eval($hook) : null; ?>                <div class="txt-set set<?php echo ++$forum_page['item_count'] ?>">
304:                     <div class="txt-box textarea required">304:                     <div class="txt-box textarea required">
305:                         <label for="fld<?php echo ++ $forum_page['fld_count'] ?>"><span><?php echo $lang_post['Write message'] ?></span></label>305:                         <label for="fld<?php echo ++ $forum_page['fld_count'] ?>"><span><?php echo $lang_post['Write message'] ?></span></label>
306:                         <div class="txt-input"><span class="fld-input"><textarea id="fld<?php echo $forum_page['fld_count'] ?>" name="req_message" rows="14" cols="95" required spellcheck="true"><?php echo forum_htmlencode(isset($_POST['req_message']) ? $message : $cur_post['message']) ?></textarea></span></div>306:                         <div class="txt-input"><span class="fld-input"><textarea id="fld<?php echo $forum_page['fld_count'] ?>" name="req_message" rows="15" cols="95" required spellcheck="true"><?php echo forum_htmlencode(isset($_POST['req_message']) ? $message : $cur_post['message']) ?></textarea></span></div>
307:                     </div>307:                     </div>
308:                 </div>308:                 </div>
309: <?php309: <?php
333: ?>333: ?>
334:                 <fieldset class="mf-set set<?php echo ++$forum_page['item_count'] ?>">334:                 <fieldset class="mf-set set<?php echo ++$forum_page['item_count'] ?>">
335:                     <div class="mf-box checkbox">335:                     <div class="mf-box checkbox">
336:                         <?php echo implode("\n\t\t\t\t\t", $forum_page['checkboxes'])."\n"; ?>336:                         <?php echo implode("\n\t\t\t\t\t", $forum_page['checkboxes'])."\n" ?>
337:                     </div>337:                     </div>
338: <?php ($hook = get_hook('ed_pre_checkbox_fieldset_end')) ? eval($hook) : null; ?>338: <?php ($hook = get_hook('ed_pre_checkbox_fieldset_end')) ? eval($hook) : null; ?>
339:                 </fieldset>339:                 </fieldset>


punbb-1.4.1/extern.php punbb-1.4.2/extern.php
  5:  * Allows forum content to be syndicated outside of the site in various formats  5:  * Allows forum content to be syndicated outside of the site in various formats
  6:  * (ie: RSS, Atom, XML, HTML).  6:  * (ie: RSS, Atom, XML, HTML).
  7:  *  7:  *
  8:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  8:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  9:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  9:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
 10:  * @package PunBB 10:  * @package PunBB
 11:  */ 11:  */
 12:  12: 
 13: /*********************************************************************** 13: /***********************************************************************
 14:  14: 
 15:   INSTRUCTIONS 15:     INSTRUCTIONS
 16:  16: 
 17:   This script is used to include information about your board from 17:     This script is used to include information about your board from
 18:   pages outside the forums and to syndicate news about recent 18:     pages outside the forums and to syndicate news about recent
 19:   discussions via RSS/Atom/XML. The script can display a list of 19:     discussions via RSS/Atom/XML. The script can display a list of
 20:   recent discussions, a list of active users or a collection of 20:     recent discussions, a list of active users or a collection of
 21:   general board statistics. The script can be called directly via 21:     general board statistics. The script can be called directly via
 22:   an URL, from a PHP include command or through the use of Server 22:     an URL, from a PHP include command or through the use of Server
 23:   Side Includes (SSI). 23:     Side Includes (SSI).
 24:  24: 
 25:   The scripts behaviour is controlled via variables supplied in the 25:     The scripts behaviour is controlled via variables supplied in the
 26:   URL to the script. The different variables are: action (what to 26:     URL to the script. The different variables are: action (what to
 27:   do), show (how many items to display), fid (the ID or ID's of 27:     do), show (how many items to display), fid (the ID or ID's of
 28:   the forum(s) to poll for topics), nfid (the ID or ID's of forums 28:     the forum(s) to poll for topics), nfid (the ID or ID's of forums
 29:   that should be excluded), tid (the ID of the topic from which to 29:     that should be excluded), tid (the ID of the topic from which to
 30:   display posts) and type (output as HTML or RSS). The only 30:     display posts) and type (output as HTML or RSS). The only
 31:   mandatory variable is action. Possible/default values are: 31:     mandatory variable is action. Possible/default values are:
 32:  32: 
 33:     action: feed - show most recent topics/posts (HTML or RSS) 33:         action: feed - show most recent topics/posts (HTML or RSS)
 34:             online - show users online (HTML) 34:                 online - show users online (HTML)
 35:             online_full - as above, but includes a full list (HTML) 35:                 online_full - as above, but includes a full list (HTML)
 36:             stats - show board statistics (HTML) 36:                 stats - show board statistics (HTML)
 37:  37: 
 38:     type:   rss - output as RSS 2.0 38:         type:   rss - output as RSS 2.0
 39:             atom - output as Atom 1.0 39:                 atom - output as Atom 1.0
 40:             xml - output as XML 40:                 xml - output as XML
 41:             html - output as HTML (<li>'s) 41:                 html - output as HTML (<li>'s)
 42:  42: 
 43:     fid:    One or more forum ID's (comma-separated). If ignored, 43:         fid:    One or more forum ID's (comma-separated). If ignored,
 44:             topics from all readable forums will be pulled. 44:                 topics from all readable forums will be pulled.
 45:  45: 
 46:     nfid:   One or more forum ID's (comma-separated) that are to be 46:         nfid:   One or more forum ID's (comma-separated) that are to be
 47:             excluded. E.g. the ID of a a test forum. 47:                 excluded. E.g. the ID of a a test forum.
 48:  
 49:     tid:    A topic ID from which to show posts. If a tid is supplied, 
 50:             fid and nfid are ignored. 
 51:  
 52:     show:   Any integer value between 1 and 50. The default is 15. 
 53:  
 54:     sort:    posted - sort topics by posted time (default) 
 55:             last_post - sort topics by last post 
 56:  48: 
  49:         tid:    A topic ID from which to show posts. If a tid is supplied,
  50:                 fid and nfid are ignored.
 57:  51: 
  52:         show:   Any integer value between 1 and 50. The default is 15.
 58:  53: 
  54:         sort:    posted - sort topics by posted time (default)
  55:                 last_post - sort topics by last post
 59:  56: 
 60: /***********************************************************************/ 57: /***********************************************************************/
 61:  58: 
 69:  66: 
 70: // The length at which topic subjects will be truncated (for HTML output) 67: // The length at which topic subjects will be truncated (for HTML output)
 71: if (!defined('FORUM_EXTERN_MAX_SUBJECT_LENGTH')) 68: if (!defined('FORUM_EXTERN_MAX_SUBJECT_LENGTH'))
 72:     define('FORUM_EXTERN_MAX_SUBJECT_LENGTH', 30); 69:     define('FORUM_EXTERN_MAX_SUBJECT_LENGTH', 30);
 73:  70: 
 74: // If we're a guest and we've sent a username/pass, we can try to authenticate using those details 71: // If we're a guest and we've sent a username/pass, we can try to authenticate using those details
 75: if ($forum_user['is_guest'] && isset($_SERVER['PHP_AUTH_USER'])) 72: if ($forum_user['is_guest'] && isset($_SERVER['PHP_AUTH_USER']))
165:     echo '<feed xmlns="http://www.w3.org/2005/Atom">'."\n";162:     echo '<feed xmlns="http://www.w3.org/2005/Atom">'."\n";
166: 163: 
167:     echo "\t".'<title type="html"><![CDATA['.escape_cdata($feed['title']).']]></title>'."\n";164:     echo "\t".'<title type="html"><![CDATA['.escape_cdata($feed['title']).']]></title>'."\n";
168:     echo "\t".'<link rel="self" href="'.forum_htmlencode(get_current_url()).'"/>'."\n";165:     echo "\t".'<link rel="self" href="'.forum_htmlencode(get_current_url()).'" />'."\n";
169:     echo "\t".'<updated>'.gmdate('Y-m-d\TH:i:s\Z', count($feed['items']) ? $feed['items'][0]['pubdate'] : time()).'</updated>'."\n";166:     echo "\t".'<updated>'.gmdate('Y-m-d\TH:i:s\Z', count($feed['items']) ? $feed['items'][0]['pubdate'] : time()).'</updated>'."\n";
170: 167: 
171:     if ($forum_config['o_show_version'] == '1')168:     if ($forum_config['o_show_version'] == '1')
183:     {180:     {
184:         echo "\t\t".'<entry>'."\n";181:         echo "\t\t".'<entry>'."\n";
185:         echo "\t\t\t".'<title type="html"><![CDATA['.escape_cdata($item['title']).']]></title>'."\n";182:         echo "\t\t\t".'<title type="html"><![CDATA['.escape_cdata($item['title']).']]></title>'."\n";
186:         echo "\t\t\t".'<link rel="alternate" href="'.$item['link'].'"/>'."\n";183:         echo "\t\t\t".'<link rel="alternate" href="'.$item['link'].'" />'."\n";
187:         echo "\t\t\t".'<'.$content_tag.' type="html"><![CDATA['.escape_cdata($item['description']).']]></'.$content_tag.'>'."\n";184:         echo "\t\t\t".'<'.$content_tag.' type="html"><![CDATA['.escape_cdata($item['description']).']]></'.$content_tag.'>'."\n";
188:         echo "\t\t\t".'<author>'."\n";185:         echo "\t\t\t".'<author>'."\n";
189:         echo "\t\t\t\t".'<name><![CDATA['.escape_cdata($item['author']['name']).']]></name>'."\n";186:         echo "\t\t\t\t".'<name><![CDATA['.escape_cdata($item['author']['name']).']]></name>'."\n";
327: 324: 
328:         // Setup the feed325:         // Setup the feed
329:         $feed = array(326:         $feed = array(
330:             'title'         =>    $forum_config['o_board_title'].$lang_common['Title separator'].$cur_topic['subject'],327:             'title'        =>    $forum_config['o_board_title'].$lang_common['Title separator'].$cur_topic['subject'],
331:             'link'            =>    forum_link($forum_url['topic'], array($tid, sef_friendly($cur_topic['subject']))),328:             'link'            =>    forum_link($forum_url['topic'], array($tid, sef_friendly($cur_topic['subject']))),
332:             'description'    =>    sprintf($lang_common['RSS description topic'], $cur_topic['subject']),329:             'description'    =>    sprintf($lang_common['RSS description topic'], $cur_topic['subject']),
333:             'items'            =>    array(),330:             'items'            =>    array(),
439: 436: 
440:         // Setup the feed437:         // Setup the feed
441:         $feed = array(438:         $feed = array(
442:             'title'         =>    $forum_config['o_board_title'].$forum_name,439:             'title'            =>    $forum_config['o_board_title'].$forum_name,
443:             'link'            =>    forum_link($forum_url['index']),440:             'link'            =>    forum_link($forum_url['index']),
444:             'description'    =>    sprintf($lang_common['RSS description'], $forum_config['o_board_title']),441:             'description'    =>    sprintf($lang_common['RSS description'], $forum_config['o_board_title']),
445:             'items'            =>    array(),442:             'items'            =>    array(),


punbb-1.4.1/footer.php punbb-1.4.2/footer.php
  2: /**  2: /**
  3:  * Outputs the footer used by most forum pages.  3:  * Outputs the footer used by most forum pages.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 60:     if (defined('FORUM_DEBUG')) 60:     if (defined('FORUM_DEBUG'))
 61:     { 61:     {
 62:         // Calculate script generation time 62:         // Calculate script generation time
 63:         $time_diff = forum_number_format(forum_microtime() - $forum_start, 3); 63:         $time_diff = forum_microtime() - $forum_start;
 64:         echo '<p id="querytime" class="quiet">'.sprintf($lang_common['Querytime'], $time_diff, forum_number_format($forum_db->get_num_queries())).'</p>'."\n"; 64:         $query_time_total = $time_percent_db = 0.0;
  65: 
  66:         $saved_queries = $forum_db->get_saved_queries();
  67:         if (count($saved_queries) > 0)
  68:         {
  69:             foreach ($saved_queries as $cur_query)
  70:             {
  71:                 $query_time_total += $cur_query[1];
  72:             }
  73: 
  74:             if ($query_time_total > 0 && $time_diff > 0)
  75:             {
  76:                 $time_percent_db = ($query_time_total / $time_diff) * 100;
  77:             }
  78:         }
  79: 
  80:         echo '<p id="querytime" class="quiet">'.sprintf($lang_common['Querytime'],
  81:             forum_number_format($time_diff, 3),
  82:             forum_number_format(100 - $time_percent_db, 0),
  83:             forum_number_format($time_percent_db, 0),
  84:             forum_number_format($forum_db->get_num_queries())).'</p>'."\n";
 65:     } 85:     }
 66:  86: 
 67:     if (defined('FORUM_SHOW_QUERIES')) 87:     if (defined('FORUM_SHOW_QUERIES'))


punbb-1.4.1/header.php punbb-1.4.2/header.php
  2: /**  2: /**
  3:  * Outputs the header used by most forum pages.  3:  * Outputs the header used by most forum pages.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 54: while (preg_match('#<!-- ?forum_include "([^/\\\\]*?)" ?-->#', $tpl_main, $cur_include)) 54: while (preg_match('#<!-- ?forum_include "([^/\\\\]*?)" ?-->#', $tpl_main, $cur_include))
 55: { 55: {
 56:     if (!file_exists(FORUM_ROOT.'include/user/'.$cur_include[1])) 56:     if (!file_exists(FORUM_ROOT.'include/user/'.$cur_include[1]))
 57:         error('Unable to process user include &lt;!-- forum_include "'.forum_htmlencode($cur_include[1]).'" --&gt; from template main.tpl.<br/>There is no such file in folder /include/user/', __FILE__, __LINE__); 57:         error('Unable to process user include &lt;!-- forum_include "'.forum_htmlencode($cur_include[1]).'" --&gt; from template main.tpl.<br />There is no such file in folder /include/user/', __FILE__, __LINE__);
 58:  58: 
 59:     ob_start(); 59:     ob_start();
 60:     include FORUM_ROOT.'include/user/'.$cur_include[1]; 60:     include FORUM_ROOT.'include/user/'.$cur_include[1];
 98: else if (FORUM_PAGE == 'viewtopic') 98: else if (FORUM_PAGE == 'viewtopic')
 99: { 99: {
100:     $forum_head['rss'] = '<link rel="alternate" type="application/rss+xml" href="'.forum_link($forum_url['topic_rss'], $id).'" title="RSS" />';100:     $forum_head['rss'] = '<link rel="alternate" type="application/rss+xml" href="'.forum_link($forum_url['topic_rss'], $id).'" title="RSS" />';
101:     $forum_head['atom'] =  '<link rel="alternate" type="application/atom+xml" href="'.forum_link($forum_url['topic_atom'], $id).'" title="ATOM" />';101:     $forum_head['atom'] = '<link rel="alternate" type="application/atom+xml" href="'.forum_link($forum_url['topic_atom'], $id).'" title="ATOM" />';
102: }102: }
103: 103: 
104: // If there are other page navigation links (first, next, prev and last)104: // If there are other page navigation links (first, next, prev and last)
229:     $result_header = $forum_db->query_build($query) or error(__FILE__, __LINE__);229:     $result_header = $forum_db->query_build($query) or error(__FILE__, __LINE__);
230: 230: 
231:     if ($forum_db->result($result_header))231:     if ($forum_db->result($result_header))
232:         $admod_links['reports'] = '<span id="reports"><a href="'.forum_link($forum_url['admin_reports']).'">'.$lang_common['New reports'].'</a></span>';232:         $admod_links['reports'] = '<li id="reports"><a href="'.forum_link($forum_url['admin_reports']).'">'.$lang_common['New reports'].'</a></li>';
233: }233: }
234: 234: 
235: if ($forum_user['g_id'] == FORUM_ADMIN)235: if ($forum_user['g_id'] == FORUM_ADMIN)
258:         $alert_items['newer_database'] = '<p><strong>'.$lang_common['Database mismatch'].'</strong> '.$lang_common['Database mismatch alert'].'</p>';258:         $alert_items['newer_database'] = '<p><strong>'.$lang_common['Database mismatch'].'</strong> '.$lang_common['Database mismatch alert'].'</p>';
259: 259: 
260:     if (!empty($alert_items))260:     if (!empty($alert_items))
261:         $admod_links['alert'] = '<span id="alert"><a href="'.forum_link($forum_url['admin_index']).'"><strong>'.$lang_common['New alerts'].'</strong></a></span>';261:         $admod_links['alert'] = '<li id="alert"><a href="'.forum_link($forum_url['admin_index']).'">'.$lang_common['New alerts'].'</a></li>';
262: 262: 
263:     ($hook = get_hook('hd_alert')) ? eval($hook) : null;263:     ($hook = get_hook('hd_alert')) ? eval($hook) : null;
264: }264: }
265: 265: 
266: $tpl_main = str_replace('<!-- forum_admod -->', (!empty($admod_links)) ? '<p id="brd-admod">'.implode(' ', $admod_links).'</p>' : '', $tpl_main);266: $tpl_main = str_replace('<!-- forum_admod -->', (!empty($admod_links)) ? '<ul id="brd-admod">'.implode(' ', $admod_links).'</ul>' : '', $tpl_main);
267: 267: 
268: // END SUBST - <!-- forum_admod -->268: // END SUBST - <!-- forum_admod -->
269: 269: 
277: // Bottom breadcrumbs277: // Bottom breadcrumbs
278: $main_elements['<!-- forum_crumbs_end -->'] = (FORUM_PAGE != 'index') ? '<div id="brd-crumbs-end" class="crumbs">'."\n\t".'<p>'.generate_crumbs(false).'</p>'."\n".'</div>' : '';278: $main_elements['<!-- forum_crumbs_end -->'] = (FORUM_PAGE != 'index') ? '<div id="brd-crumbs-end" class="crumbs">'."\n\t".'<p>'.generate_crumbs(false).'</p>'."\n".'</div>' : '';
279: // Main section heading279: // Main section heading
280: $main_elements['<!-- forum_main_title -->'] =  '<h1 class="main-title">'.((isset($forum_page['main_title'])) ? $forum_page['main_title'] : forum_htmlencode(is_array($last_crumb = end($forum_page['crumbs'])) ? reset($last_crumb) : $last_crumb)).(isset($forum_page['main_head_pages']) ? ' <small>'.$forum_page['main_head_pages'].'</small>' : '').'</h1>'."\n";280: $main_elements['<!-- forum_main_title -->'] = '<h1 class="main-title">'.((isset($forum_page['main_title'])) ? $forum_page['main_title'] : forum_htmlencode(is_array($last_crumb = end($forum_page['crumbs'])) ? reset($last_crumb) : $last_crumb)).(isset($forum_page['main_head_pages']) ? ' <small>'.$forum_page['main_head_pages'].'</small>' : '').'</h1>'."\n";
281: 281: 
282: // Top pagination and post links282: // Top pagination and post links
283: $main_elements['<!-- forum_main_pagepost_top -->'] = (!empty($forum_page['page_post'])) ? '<div id="brd-pagepost-top" class="main-pagepost gen-content">'."\n\t".implode("\n\t", $forum_page['page_post'])."\n".'</div>' : '';283: $main_elements['<!-- forum_main_pagepost_top -->'] = (!empty($forum_page['page_post'])) ? '<div id="brd-pagepost-top" class="main-pagepost gen-content">'."\n\t".implode("\n\t", $forum_page['page_post'])."\n".'</div>' : '';
299: 299: 
300: ($hook = get_hook('hd_main_elements')) ? eval($hook) : null;300: ($hook = get_hook('hd_main_elements')) ? eval($hook) : null;
301: 301: 
302: $tpl_main = str_replace(array_keys($main_elements),  array_values($main_elements), $tpl_main);302: $tpl_main = str_replace(array_keys($main_elements), array_values($main_elements), $tpl_main);
303: unset($main_elements);303: unset($main_elements);
304: 304: 
305: // END MAIN SECTION INTERFACE ELEMENT SUBSTITUTION305: // END MAIN SECTION INTERFACE ELEMENT SUBSTITUTION


punbb-1.4.1/help.php punbb-1.4.2/help.php
  4:  *  4:  *
  5:  * Provides examples of how to use various features of the forum (ie: BBCode, smilies).  5:  * Provides examples of how to use various features of the forum (ie: BBCode, smilies).
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */


punbb-1.4.1/include/cache.php punbb-1.4.2/include/cache.php
  4:  *  4:  *
  5:  * This file contains all of the functions used to generate the cache files used by the site.  5:  * This file contains all of the functions used to generate the cache files used by the site.
  6:  *  6:  *
  7:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  7:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  8:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  9:  * @package PunBB  9:  * @package PunBB
 10:  */ 10:  */
 79:     // Output config as PHP code 79:     // Output config as PHP code
 80:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_config.php', '<?php'."\n\n".'define(\'FORUM_CONFIG_LOADED\', 1);'."\n\n".'$forum_config = '.var_export($output, true).';'."\n\n".'?>')) 80:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_config.php', '<?php'."\n\n".'define(\'FORUM_CONFIG_LOADED\', 1);'."\n\n".'$forum_config = '.var_export($output, true).';'."\n\n".'?>'))
 81:     { 81:     {
 82:         error('Unable to write configuration cache file to cache directory.<br/>Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__); 82:         error('Unable to write configuration cache file to cache directory.<br />Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);
 83:     } 83:     }
 84: } 84: }
 85:  85: 
118:     // Output ban list as PHP code118:     // Output ban list as PHP code
119:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_bans.php', '<?php'."\n\n".'define(\'FORUM_BANS_LOADED\', 1);'."\n\n".'$forum_bans = '.var_export($output, true).';'."\n\n".'?>'))119:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_bans.php', '<?php'."\n\n".'define(\'FORUM_BANS_LOADED\', 1);'."\n\n".'$forum_bans = '.var_export($output, true).';'."\n\n".'?>'))
120:     {120:     {
121:         error('Unable to write bans cache file to cache directory.<br/>Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);121:         error('Unable to write bans cache file to cache directory.<br />Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);
122:     }122:     }
123: }123: }
124: 124: 
151:     // Output ranks list as PHP code151:     // Output ranks list as PHP code
152:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_ranks.php', '<?php'."\n\n".'define(\'FORUM_RANKS_LOADED\', 1);'."\n\n".'$forum_ranks = '.var_export($output, true).';'."\n\n".'?>'))152:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_ranks.php', '<?php'."\n\n".'define(\'FORUM_RANKS_LOADED\', 1);'."\n\n".'$forum_ranks = '.var_export($output, true).';'."\n\n".'?>'))
153:     {153:     {
154:         error('Unable to write ranks cache file to cache directory.<br/>Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);154:         error('Unable to write ranks cache file to cache directory.<br />Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);
155:     }155:     }
156: }156: }
157: 157: 
212:     // Output ranks list as PHP code212:     // Output ranks list as PHP code
213:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_stats.php', '<?php'."\n\n".'if (!defined(\'FORUM_STATS_LOADED\')) define(\'FORUM_STATS_LOADED\', 1);'."\n\n".'$forum_stats = '.var_export($stats, true).';'."\n\n".'?>'))213:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_stats.php', '<?php'."\n\n".'if (!defined(\'FORUM_STATS_LOADED\')) define(\'FORUM_STATS_LOADED\', 1);'."\n\n".'$forum_stats = '.var_export($stats, true).';'."\n\n".'?>'))
214:     {214:     {
215:         error('Unable to write stats cache file to cache directory.<br/>Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);215:         error('Unable to write stats cache file to cache directory.<br />Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);
216:     }216:     }
217: 217: 
218:     unset($stats);218:     unset($stats);
219: }219: }
220: 220: 
221: 221: 
 222: //
 223: // Clean stats cache PHP scripts
 224: //
 225: function clean_stats_cache()
 226: {
 227:     $cache_file = FORUM_CACHE_DIR.'cache_stats.php';
 228:     if (file_exists($cache_file))
 229:     {
 230:         unlink($cache_file);
 231:     }
 232: }
 233: 
222: 234: 
223: //235: //
224: // Generate the censor cache PHP script236: // Generate the censor cache PHP script
248:     // Output censors list as PHP code260:     // Output censors list as PHP code
249:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_censors.php', '<?php'."\n\n".'define(\'FORUM_CENSORS_LOADED\', 1);'."\n\n".'$forum_censors = '.var_export($output, true).';'."\n\n".'?>'))261:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_censors.php', '<?php'."\n\n".'define(\'FORUM_CENSORS_LOADED\', 1);'."\n\n".'$forum_censors = '.var_export($output, true).';'."\n\n".'?>'))
250:     {262:     {
251:         error('Unable to write censor cache file to cache directory.<br/>Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);263:         error('Unable to write censor cache file to cache directory.<br />Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);
252:     }264:     }
253: }265: }
254: 266: 
358:         // Output quickjump as PHP code370:         // Output quickjump as PHP code
359:         if (!write_cache_file(FORUM_CACHE_DIR.'cache_quickjump_'.$group_id.'.php', $output))371:         if (!write_cache_file(FORUM_CACHE_DIR.'cache_quickjump_'.$group_id.'.php', $output))
360:         {372:         {
361:             error('Unable to write quickjump cache file to cache directory.<br/>Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);373:             error('Unable to write quickjump cache file to cache directory.<br />Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);
362:         }374:         }
363:     }375:     }
364: }376: }
470:     // Output hooks as PHP code482:     // Output hooks as PHP code
471:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_hooks.php', '<?php'."\n\n".'define(\'FORUM_HOOKS_LOADED\', 1);'."\n\n".'$forum_hooks = '.var_export($output, true).';'."\n\n".'?>'))483:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_hooks.php', '<?php'."\n\n".'define(\'FORUM_HOOKS_LOADED\', 1);'."\n\n".'$forum_hooks = '.var_export($output, true).';'."\n\n".'?>'))
472:     {484:     {
473:         error('Unable to write hooks cache file to cache directory.<br/>Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);485:         error('Unable to write hooks cache file to cache directory.<br />Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);
474:     }486:     }
475: }487: }
476: 488: 
529:     // Output update status as PHP code541:     // Output update status as PHP code
530:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_updates.php', '<?php'."\n\n".'if (!defined(\'FORUM_UPDATES_LOADED\')) define(\'FORUM_UPDATES_LOADED\', 1);'."\n\n".'$forum_updates = '.var_export($output, true).';'."\n\n".'?>'))542:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_updates.php', '<?php'."\n\n".'if (!defined(\'FORUM_UPDATES_LOADED\')) define(\'FORUM_UPDATES_LOADED\', 1);'."\n\n".'$forum_updates = '.var_export($output, true).';'."\n\n".'?>'))
531:     {543:     {
532:         error('Unable to write updates cache file to cache directory.<br/>Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);544:         error('Unable to write updates cache file to cache directory.<br />Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);
533:     }545:     }
534: }546: }
535: 547: 
540: 552: 
541:     foreach (array_unique(array_merge($repository_urls, $repository_url_by_extension)) as $url)553:     foreach (array_unique(array_merge($repository_urls, $repository_url_by_extension)) as $url)
542:     {554:     {
543:         //Get repository timestamp555:         // Get repository timestamp
544:         $remote_file = get_remote_file( $url.'/timestamp', 2);556:         $remote_file = get_remote_file($url.'/timestamp', 2);
545:         $repository_timestamp = empty($remote_file['content']) ? '' : forum_trim($remote_file['content']);557:         $repository_timestamp = empty($remote_file['content']) ? '' : forum_trim($remote_file['content']);
546:         unset($remote_file);558:         unset($remote_file);
547:         if (!is_numeric($repository_timestamp))559:         if (!is_numeric($repository_timestamp))
548:             continue;560:             continue;
549: 561: 
550:         if (!isset( $forum_ext_repos[ $url ][ 'timestamp' ] ))562:         if (!isset($forum_ext_repos[$url]['timestamp']))
551:             $forum_ext_repos[ $url ][ 'timestamp' ] = $repository_timestamp;563:             $forum_ext_repos[$url]['timestamp'] = $repository_timestamp;
552: 564: 
553:         if ($forum_ext_repos[ $url ][ 'timestamp' ] <= $repository_timestamp)565:         if ($forum_ext_repos[$url]['timestamp'] <= $repository_timestamp)
554:         {566:         {
555:             foreach ($inst_exts as $ext)567:             foreach ($inst_exts as $ext)
556:             {568:             {
560:                 if (empty($version) || !preg_match('~^[0-9a-zA-Z\. +-]+$~u', $version))572:                 if (empty($version) || !preg_match('~^[0-9a-zA-Z\. +-]+$~u', $version))
561:                     continue;573:                     continue;
562: 574: 
563:                 $forum_ext_repos[ $url ][ 'extension_versions' ][ $ext['id'] ] = $version;575:                 $forum_ext_repos[$url]['extension_versions'][$ext['id']] = $version;
564: 576: 
565:                 //If key with current extension exist in array, compare it with version in rep-ry577:                 // If key with current extension exist in array, compare it with version in repository
566:                 if (!isset($forum_ext_last_versions[ $ext['id'] ]) || ( version_compare($forum_ext_last_versions[ $ext['id'] ][ 'version' ], $version, '<') ) )578:                 if (!isset($forum_ext_last_versions[$ext['id']]) || (version_compare($forum_ext_last_versions[$ext['id']]['version'], $version, '<')))
567:                 {579:                 {
568:                     $forum_ext_last_versions[ $ext['id'] ] = array('version' => $version, 'repo_url' => $url);580:                     $forum_ext_last_versions[$ext['id']] = array('version' => $version, 'repo_url' => $url);
569: 581: 
570:                     $remote_file = get_remote_file($url.'/'.$ext['id'].'/lastchanges', 2);582:                     $remote_file = get_remote_file($url.'/'.$ext['id'].'/lastchanges', 2);
571:                     $last_changes = empty($remote_file['content']) ? '' : forum_trim($remote_file['content']);583:                     $last_changes = empty($remote_file['content']) ? '' : forum_trim($remote_file['content']);
572:                     unset($remote_file);584:                     unset($remote_file);
573:                     if ( !empty($last_changes) )585:                     if (!empty($last_changes))
574:                         $forum_ext_last_versions[ $ext['id'] ][ 'changes' ] = $last_changes;586:                         $forum_ext_last_versions[$ext['id']]['changes'] = $last_changes;
575:                 }587:                 }
576:             }588:             }
577:             //Write timestamp to cache589: 
578:             $forum_ext_repos[ $url ][ 'timestamp' ] = $repository_timestamp;590:             // Write timestamp to cache
 591:             $forum_ext_repos[$url]['timestamp'] = $repository_timestamp;
579:         }592:         }
580:     }593:     }
581: 594: 
582:     if (array_keys($forum_ext_last_versions) != array_keys($inst_exts))595:     if (array_keys($forum_ext_last_versions) != array_keys($inst_exts))
583:         foreach ($inst_exts as $ext)596:         foreach ($inst_exts as $ext)
584:             if ( !in_array($ext['id'], array_keys($forum_ext_last_versions)) )597:             if (!in_array($ext['id'], array_keys($forum_ext_last_versions)))
585:                 $forum_ext_last_versions[$ext['id']] = array('version' => $ext['version'], 'repo_url' => '', 'changes' => '');598:                 $forum_ext_last_versions[$ext['id']] = array('version' => $ext['version'], 'repo_url' => '', 'changes' => '');
586: 599: 
587:     ($hook = get_hook('ch_generate_ext_versions_cache_check_repository')) ? eval($hook) : null;600:     ($hook = get_hook('ch_generate_ext_versions_cache_check_repository')) ? eval($hook) : null;
589:     // Output config as PHP code602:     // Output config as PHP code
590:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_ext_version_notifications.php', '<?php'."\n\n".'if (!defined(\'FORUM_EXT_VERSIONS_LOADED\')) define(\'FORUM_EXT_VERSIONS_LOADED\', 1);'."\n\n".'$forum_ext_repos = '.var_export($forum_ext_repos, true).';'."\n\n".' $forum_ext_last_versions = '.var_export($forum_ext_last_versions, true).";\n\n".'$forum_ext_versions_update_cache = '.time().";\n\n".'?>'))603:     if (!write_cache_file(FORUM_CACHE_DIR.'cache_ext_version_notifications.php', '<?php'."\n\n".'if (!defined(\'FORUM_EXT_VERSIONS_LOADED\')) define(\'FORUM_EXT_VERSIONS_LOADED\', 1);'."\n\n".'$forum_ext_repos = '.var_export($forum_ext_repos, true).';'."\n\n".' $forum_ext_last_versions = '.var_export($forum_ext_last_versions, true).";\n\n".'$forum_ext_versions_update_cache = '.time().";\n\n".'?>'))
591:     {604:     {
592:         error('Unable to write configuration cache file to cache directory.<br/>Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);605:         error('Unable to write configuration cache file to cache directory.<br />Please make sure PHP has write access to the directory \'cache\'.', __FILE__, __LINE__);
593:     }606:     }
594: }607: }
595: 608: 


punbb-1.4.1/include/common_admin.php punbb-1.4.2/include/common_admin.php
  2: /**  2: /**
  3:  * Loads common functions used in the administration panel.  3:  * Loads common functions used in the administration panel.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */


punbb-1.4.1/include/common.php punbb-1.4.2/include/common.php
  2: /**  2: /**
  3:  * Loads common data and performs various functions necessary for the site to work properly.  3:  * Loads common data and performs various functions necessary for the site to work properly.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 66: if (file_exists(FORUM_ROOT.'lang/'.$forum_user['language'].'/common.php')) 66: if (file_exists(FORUM_ROOT.'lang/'.$forum_user['language'].'/common.php'))
 67:     include FORUM_ROOT.'lang/'.$forum_user['language'].'/common.php'; 67:     include FORUM_ROOT.'lang/'.$forum_user['language'].'/common.php';
 68: else 68: else
 69:     error('There is no valid language pack \''.forum_htmlencode($forum_user['language']).'\' installed.<br/>Please reinstall a language of that name.'); 69:     error('There is no valid language pack \''.forum_htmlencode($forum_user['language']).'\' installed.<br />Please reinstall a language of that name.');
 70:  70: 
 71: // Setup the URL rewriting scheme 71: // Setup the URL rewriting scheme
 72: if ($forum_config['o_sef'] != 'Default' && file_exists(FORUM_ROOT.'include/url/'.$forum_config['o_sef'].'/forum_urls.php')) 72: if ($forum_config['o_sef'] != 'Default' && file_exists(FORUM_ROOT.'include/url/'.$forum_config['o_sef'].'/forum_urls.php'))


punbb-1.4.1/include/dblayer/common_db.php punbb-1.4.2/include/dblayer/common_db.php
  2: /**  2: /**
  3:  * Loads the proper database layer class.  3:  * Loads the proper database layer class.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */


punbb-1.4.1/include/dblayer/mysqli_innodb.php punbb-1.4.2/include/dblayer/mysqli_innodb.php
  2: /**  2: /**
  3:  * A database layer class that relies on the MySQLi PHP extension.  3:  * A database layer class that relies on the MySQLi PHP extension.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 79:         if (strlen($sql) > 140000) 79:         if (strlen($sql) > 140000)
 80:             exit('Insane query. Aborting.'); 80:             exit('Insane query. Aborting.');
 81:  81: 
 82:         if (defined('FORUM_SHOW_QUERIES')) 82:         if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
 83:             $q_start = forum_microtime(); 83:             $q_start = forum_microtime();
 84:  84: 
 85:         $this->query_result = mysqli_query($this->link_id, $sql); 85:         $this->query_result = mysqli_query($this->link_id, $sql);
 86:  86: 
 87:         if ($this->query_result) 87:         if ($this->query_result)
 88:         { 88:         {
 89:             if (defined('FORUM_SHOW_QUERIES')) 89:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
 90:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start)); 90:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start));
 91:  91: 
 92:             ++$this->num_queries; 92:             ++$this->num_queries;
 95:         } 95:         }
 96:         else 96:         else
 97:         { 97:         {
 98:             if (defined('FORUM_SHOW_QUERIES')) 98:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
 99:                 $this->saved_queries[] = array($sql, 0); 99:                 $this->saved_queries[] = array($sql, 0);
100: 100: 
101:             if ($this->in_transaction)101:             if ($this->in_transaction)


punbb-1.4.1/include/dblayer/mysql_innodb.php punbb-1.4.2/include/dblayer/mysql_innodb.php
  2: /**  2: /**
  3:  * A database layer class that relies on the MySQL PHP extension.  3:  * A database layer class that relies on the MySQL PHP extension.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 80:         if (strlen($sql) > 140000) 80:         if (strlen($sql) > 140000)
 81:             exit('Insane query. Aborting.'); 81:             exit('Insane query. Aborting.');
 82:  82: 
 83:         if (defined('FORUM_SHOW_QUERIES')) 83:         if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
 84:             $q_start = forum_microtime(); 84:             $q_start = forum_microtime();
 85:  85: 
 86:         if ($unbuffered) 86:         if ($unbuffered)
 90:  90: 
 91:         if ($this->query_result) 91:         if ($this->query_result)
 92:         { 92:         {
 93:             if (defined('FORUM_SHOW_QUERIES')) 93:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
 94:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start)); 94:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start));
 95:  95: 
 96:             ++$this->num_queries; 96:             ++$this->num_queries;
 99:         } 99:         }
100:         else100:         else
101:         {101:         {
102:             if (defined('FORUM_SHOW_QUERIES'))102:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
103:                 $this->saved_queries[] = array($sql, 0);103:                 $this->saved_queries[] = array($sql, 0);
104: 104: 
105:             if ($this->in_transaction)105:             if ($this->in_transaction)


punbb-1.4.1/include/dblayer/mysqli.php punbb-1.4.2/include/dblayer/mysqli.php
  2: /**  2: /**
  3:  * A database layer class that relies on the MySQLi PHP extension.  3:  * A database layer class that relies on the MySQLi PHP extension.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 41:             $this->link_id = @mysqli_connect($db_host, $db_username, $db_password, $db_name); 41:             $this->link_id = @mysqli_connect($db_host, $db_username, $db_password, $db_name);
 42:  42: 
 43:         if (!$this->link_id) 43:         if (!$this->link_id)
 44:             error('Unable to connect to MySQL and select database.<br/>MySQL reported: '.mysqli_connect_error(), __FILE__, __LINE__); 44:             error('Unable to connect to MySQL and select database.<br />MySQL reported: '.mysqli_connect_error(), __FILE__, __LINE__);
 45:  45: 
 46:         // Setup the client-server character set (UTF-8) 46:         // Setup the client-server character set (UTF-8)
 47:         if (!defined('FORUM_NO_SET_NAMES')) 47:         if (!defined('FORUM_NO_SET_NAMES'))
 68:         if (strlen($sql) > 140000) 68:         if (strlen($sql) > 140000)
 69:             exit('Insane query. Aborting.'); 69:             exit('Insane query. Aborting.');
 70:  70: 
 71:         if (defined('FORUM_SHOW_QUERIES')) 71:         if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
 72:             $q_start = forum_microtime(); 72:             $q_start = forum_microtime();
 73:  73: 
 74:         $this->query_result = @mysqli_query($this->link_id, $sql); 74:         $this->query_result = @mysqli_query($this->link_id, $sql);
 75:  75: 
 76:         if ($this->query_result) 76:         if ($this->query_result)
 77:         { 77:         {
 78:             if (defined('FORUM_SHOW_QUERIES')) 78:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
 79:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start)); 79:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start));
 80:  80: 
 81:             ++$this->num_queries; 81:             ++$this->num_queries;
 84:         } 84:         }
 85:         else 85:         else
 86:         { 86:         {
 87:             if (defined('FORUM_SHOW_QUERIES')) 87:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
 88:                 $this->saved_queries[] = array($sql, 0); 88:                 $this->saved_queries[] = array($sql, 0);
 89:  89: 
 90:             return false; 90:             return false;


punbb-1.4.1/include/dblayer/mysql.php punbb-1.4.2/include/dblayer/mysql.php
  2: /**  2: /**
  3:  * A database layer class that relies on the MySQL PHP extension.  3:  * A database layer class that relies on the MySQL PHP extension.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 69:         if (strlen($sql) > 140000) 69:         if (strlen($sql) > 140000)
 70:             exit('Insane query. Aborting.'); 70:             exit('Insane query. Aborting.');
 71:  71: 
 72:         if (defined('FORUM_SHOW_QUERIES')) 72:         if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
 73:             $q_start = forum_microtime(); 73:             $q_start = forum_microtime();
 74:  74: 
 75:         if ($unbuffered) 75:         if ($unbuffered)
 79:  79: 
 80:         if ($this->query_result) 80:         if ($this->query_result)
 81:         { 81:         {
 82:             if (defined('FORUM_SHOW_QUERIES')) 82:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
 83:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start)); 83:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start));
 84:  84: 
 85:             ++$this->num_queries; 85:             ++$this->num_queries;
 88:         } 88:         }
 89:         else 89:         else
 90:         { 90:         {
 91:             if (defined('FORUM_SHOW_QUERIES')) 91:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
 92:                 $this->saved_queries[] = array($sql, 0); 92:                 $this->saved_queries[] = array($sql, 0);
 93:  93: 
 94:             return false; 94:             return false;


punbb-1.4.1/include/dblayer/pgsql.php punbb-1.4.2/include/dblayer/pgsql.php
  2: /**  2: /**
  3:  * A database layer class that relies on the PostgreSQL PHP extension.  3:  * A database layer class that relies on the PostgreSQL PHP extension.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
107:         if (strrpos($sql, 'LIMIT') !== false)107:         if (strrpos($sql, 'LIMIT') !== false)
108:             $sql = preg_replace('#LIMIT ([0-9]+),([ 0-9]+)#', 'LIMIT \\2 OFFSET \\1', $sql);108:             $sql = preg_replace('#LIMIT ([0-9]+),([ 0-9]+)#', 'LIMIT \\2 OFFSET \\1', $sql);
109: 109: 
110:         if (defined('FORUM_SHOW_QUERIES'))110:         if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
111:             $q_start = forum_microtime();111:             $q_start = forum_microtime();
112: 112: 
113:         @pg_send_query($this->link_id, $sql);113:         @pg_send_query($this->link_id, $sql);
115: 115: 
116:         if (pg_result_status($this->query_result) != PGSQL_FATAL_ERROR)116:         if (pg_result_status($this->query_result) != PGSQL_FATAL_ERROR)
117:         {117:         {
118:             if (defined('FORUM_SHOW_QUERIES'))118:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
119:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start));119:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start));
120: 120: 
121:             ++$this->num_queries;121:             ++$this->num_queries;
126:         }126:         }
127:         else127:         else
128:         {128:         {
129:             if (defined('FORUM_SHOW_QUERIES'))129:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
130:                 $this->saved_queries[] = array($sql, 0);130:                 $this->saved_queries[] = array($sql, 0);
131: 131: 
132:             $this->error_msg = @pg_result_error($this->query_result);132:             $this->error_msg = @pg_result_error($this->query_result);
326:         {326:         {
327:             if ($this->in_transaction)327:             if ($this->in_transaction)
328:             {328:             {
329:                 if (defined('FORUM_SHOW_QUERIES'))329:                 if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
330:                     $this->saved_queries[] = array('COMMIT', 0);330:                     $this->saved_queries[] = array('COMMIT', 0);
331: 331: 
332:                 @pg_query($this->link_id, 'COMMIT');332:                 @pg_query($this->link_id, 'COMMIT');


punbb-1.4.1/include/dblayer/sqlite3.php punbb-1.4.2/include/dblayer/sqlite3.php
  2: /**  2: /**
  3:  * A database layer class that relies on the SQLite PHP extension.  3:  * A database layer class that relies on the SQLite PHP extension.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 90:         if (strlen($sql) > 140000) 90:         if (strlen($sql) > 140000)
 91:             exit('Insane query. Aborting.'); 91:             exit('Insane query. Aborting.');
 92:  92: 
 93:         if (defined('FORUM_SHOW_QUERIES')) 93:         if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
 94:             $q_start = forum_microtime(); 94:             $q_start = forum_microtime();
 95:  95: 
 96:         $this->query_result = $this->link_id->query($sql); 96:         $this->query_result = $this->link_id->query($sql);
 97:  97: 
 98:         if ($this->query_result) 98:         if ($this->query_result)
 99:         { 99:         {
100:             if (defined('FORUM_SHOW_QUERIES'))100:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
101:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start));101:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start));
102: 102: 
103:             ++$this->num_queries;103:             ++$this->num_queries;
106:         }106:         }
107:         else107:         else
108:         {108:         {
109:             if (defined('FORUM_SHOW_QUERIES'))109:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
110:                 $this->saved_queries[] = array($sql, 0);110:                 $this->saved_queries[] = array($sql, 0);
111: 111: 
112:             $this->error_no = $this->link_id->lastErrorCode();112:             $this->error_no = $this->link_id->lastErrorCode();
333:         {333:         {
334:             if ($this->in_transaction)334:             if ($this->in_transaction)
335:             {335:             {
336:                 if (defined('FORUM_SHOW_QUERIES'))336:                 if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
337:                     $this->saved_queries[] = array('COMMIT', 0);337:                     $this->saved_queries[] = array('COMMIT', 0);
338: 338: 
339:                 $this->link_id->exec('COMMIT');339:                 $this->link_id->exec('COMMIT');


punbb-1.4.1/include/dblayer/sqlite.php punbb-1.4.2/include/dblayer/sqlite.php
  2: /**  2: /**
  3:  * A database layer class that relies on the SQLite PHP extension.  3:  * A database layer class that relies on the SQLite PHP extension.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 93:         if (strlen($sql) > 140000) 93:         if (strlen($sql) > 140000)
 94:             exit('Insane query. Aborting.'); 94:             exit('Insane query. Aborting.');
 95:  95: 
 96:         if (defined('FORUM_SHOW_QUERIES')) 96:         if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
 97:             $q_start = forum_microtime(); 97:             $q_start = forum_microtime();
 98:  98: 
 99:         if ($unbuffered) 99:         if ($unbuffered)
103: 103: 
104:         if ($this->query_result)104:         if ($this->query_result)
105:         {105:         {
106:             if (defined('FORUM_SHOW_QUERIES'))106:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
107:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start));107:                 $this->saved_queries[] = array($sql, sprintf('%.5f', forum_microtime() - $q_start));
108: 108: 
109:             ++$this->num_queries;109:             ++$this->num_queries;
112:         }112:         }
113:         else113:         else
114:         {114:         {
115:             if (defined('FORUM_SHOW_QUERIES'))115:             if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
116:                 $this->saved_queries[] = array($sql, 0);116:                 $this->saved_queries[] = array($sql, 0);
117: 117: 
118:             $this->error_no = @sqlite_last_error($this->link_id);118:             $this->error_no = @sqlite_last_error($this->link_id);
325:         {325:         {
326:             if ($this->in_transaction)326:             if ($this->in_transaction)
327:             {327:             {
328:                 if (defined('FORUM_SHOW_QUERIES'))328:                 if (defined('FORUM_SHOW_QUERIES') || defined('FORUM_DEBUG'))
329:                     $this->saved_queries[] = array('COMMIT', 0);329:                     $this->saved_queries[] = array('COMMIT', 0);
330: 330: 
331:                 @sqlite_query($this->link_id, 'COMMIT');331:                 @sqlite_query($this->link_id, 'COMMIT');


punbb-1.4.1/include/email.php punbb-1.4.2/include/email.php
  2: /**  2: /**
  3:  * Loads functions used in dealing with email addresses and email sending.  3:  * Loads functions used in dealing with email addresses and email sending.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
117:     while (substr($server_response, 3, 1) != ' ')117:     while (substr($server_response, 3, 1) != ' ')
118:     {118:     {
119:         if (!($server_response = fgets($socket, 256)))119:         if (!($server_response = fgets($socket, 256)))
120:             error('Couldn\'t get mail server response codes.<br/>Please contact the forum administrator.', __FILE__, __LINE__);120:             error('Couldn\'t get mail server response codes.<br />Please contact the forum administrator.', __FILE__, __LINE__);
121:     }121:     }
122: 122: 
123:     if (!(substr($server_response, 0, 3) == $expected_response))123:     if (!(substr($server_response, 0, 3) == $expected_response))
124:         error('Unable to send e-mail.<br/>Please contact the forum administrator with the following error message reported by the SMTP server: "'.$server_response.'"', __FILE__, __LINE__);124:         error('Unable to send e-mail.<br />Please contact the forum administrator with the following error message reported by the SMTP server: "'.$server_response.'"', __FILE__, __LINE__);
125: }125: }
126: 126: 
127: 127: 


punbb-1.4.1/include/essentials.php punbb-1.4.2/include/essentials.php
  2: /**  2: /**
  3:  * Loads the minimum amount of data (eg: functions, database connection, config data, etc) necessary to integrate the site.  3:  * Loads the minimum amount of data (eg: functions, database connection, config data, etc) necessary to integrate the site.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 11:     exit('The constant FORUM_ROOT must be defined and point to a valid PunBB installation root directory.'); 11:     exit('The constant FORUM_ROOT must be defined and point to a valid PunBB installation root directory.');
 12:  12: 
 13: // Define the version and database revision that this code was written for 13: // Define the version and database revision that this code was written for
 14: define('FORUM_VERSION', '1.4.1'); 14: define('FORUM_VERSION', '1.4.2');
 15: define('FORUM_DB_REVISION', 5); 15: define('FORUM_DB_REVISION', 5);
 16:  16: 
 17: // Record the start time (will be used to calculate the generation time for the page) 17: // Record the start time (will be used to calculate the generation time for the page)
 22: require FORUM_ROOT.'include/functions.php'; 22: require FORUM_ROOT.'include/functions.php';
 23: // Load the Loader class 23: // Load the Loader class
 24: require FORUM_ROOT.'include/loader.php'; 24: require FORUM_ROOT.'include/loader.php';
 25: // Load the Flash messenger class 
 26: require FORUM_ROOT.'include/flash_messenger.php'; 
 27:  25: 
 28: // Load UTF-8 functions 26: // Load UTF-8 functions
 29: require FORUM_ROOT.'include/utf8/utf8.php'; 27: require FORUM_ROOT.'include/utf8/utf8.php';
 46:     define('FORUM', 1); 44:     define('FORUM', 1);
 47:  45: 
 48: if (!defined('FORUM')) 46: if (!defined('FORUM'))
 49:     error('The file \'config.php\' doesn\'t exist or is corrupt.<br/>Please run <a href="'.FORUM_ROOT.'admin/install.php">install.php</a> to install PunBB first.'); 47:     error('The file \'config.php\' doesn\'t exist or is corrupt.<br />Please run <a href="'.FORUM_ROOT.'admin/install.php">install.php</a> to install PunBB first.');
 50:  48: 
 51: // Block prefetch requests 49: // Block prefetch requests
 52: if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch') 50: if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch')
100:     require FORUM_CACHE_DIR.'cache_config.php'; 98:     require FORUM_CACHE_DIR.'cache_config.php';
101: } 99: }
102: 100: 
 101: // Load the Flash messenger class
 102: require FORUM_ROOT.'include/flash_messenger.php';
 103: 
103: // If the request_uri is invalid try fix it104: // If the request_uri is invalid try fix it
104: forum_fix_request_uri();105: forum_fix_request_uri();
105: 106: 
115: 116: 
116: // Verify that we are running the proper database schema revision117: // Verify that we are running the proper database schema revision
117: if (defined('PUN') || !isset($forum_config['o_database_revision']) || $forum_config['o_database_revision'] < FORUM_DB_REVISION || version_compare($forum_config['o_cur_version'], FORUM_VERSION, '<'))118: if (defined('PUN') || !isset($forum_config['o_database_revision']) || $forum_config['o_database_revision'] < FORUM_DB_REVISION || version_compare($forum_config['o_cur_version'], FORUM_VERSION, '<'))
118:     error('Your PunBB database is out-of-date and must be upgraded in order to continue.<br/>Please run <a href="'.$base_url.'/admin/db_update.php">db_update.php</a> in order to complete the upgrade process.');119:     error('Your PunBB database is out-of-date and must be upgraded in order to continue.<br />Please run <a href="'.$base_url.'/admin/db_update.php">db_update.php</a> in order to complete the upgrade process.');
119: 120: 
120: 121: 
121: // Load hooks122: // Load hooks


punbb-1.4.1/include/flash_messenger.php punbb-1.4.2/include/flash_messenger.php
  2: /**  2: /**
  3:  * Loads the flash messenger class.  3:  * Loads the flash messenger class.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB  5:  * @copyright (C) 2008-2012 PunBB
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 19:     const MSG_TYPE_INFO = 'message_info'; 19:     const MSG_TYPE_INFO = 'message_info';
 20:  20: 
 21:     // 21:     //
 22:     private $messages; 22:     private $message;
 23:  23: 
 24:  24: 
 25:     public function __construct() 25:     public function __construct()
 26:     { 26:     {
 27:         session_cache_limiter(FALSE); 27:         global $forum_config;
 28:         $result = session_start(); 28: 
 29:         $this->messages = $this->get_messages(); 29:         // Do not use with redirect
  30:         $disabled = isset($forum_config['o_redirect_delay']) && intval($forum_config['o_redirect_delay'], 10) > 0;
  31: 
  32:         if (!$disabled)
  33:         {
  34:             forum_session_start();
  35:         }
  36: 
  37:         $this->message = $this->get_message();
 30:     } 38:     }
 31:  39: 
 32:  40: 
 54:     // 62:     //
 55:     public function show($just_return = false) 63:     public function show($just_return = false)
 56:     { 64:     {
 57:         if (empty($this->messages)) 65:         if (empty($this->message))
 58:             return; 66:             return;
 59:  67: 
 60:         $messages_list = array(); 68:         $message = sprintf(self::TEMPLATE_MSG, forum_htmlencode($this->message[1]), forum_htmlencode($this->message[0]));
 61:         foreach ($this->messages as $msg) 
 62:         { 
 63:             $messages_list[] = sprintf(self::TEMPLATE_MSG, forum_htmlencode($msg[1]), forum_htmlencode($msg[0])); 
 64:         } 
 65:  
 66:         if (!empty($messages_list)) 
 67:         { 
 68:             $m = sprintf(self::TEMPLATE_MSG_BLOCK, implode('', $messages_list)); 
 69:             if ($just_return) { 
 70:                 $this->clear(); 
 71:                 return $m; 
 72:             } 
 73:  69: 
 74:             echo $m; 70:         $m = sprintf(self::TEMPLATE_MSG_BLOCK, $message);
  71:         if ($just_return) {
  72:             $this->clear();
  73:             return $m;
 75:         } 74:         }
 76:  75: 
  76:         echo $m;
  77: 
 77:         $this->clear(); 78:         $this->clear();
 78:     } 79:     }
 79:  80: 
 81:     // 82:     //
 82:     private function clear() 83:     private function clear()
 83:     { 84:     {
 84:         $this->messages = array(); 85:         $this->message = NULL;
 85:         $this->save_messages(); 86:         $this->save_message();
 86:     } 87:     }
 87:  88: 
 88:  89: 
 89:     // 90:     //
 90:     private function add_message($message, $type) 91:     private function add_message($message, $type)
 91:     { 92:     {
 92:         array_push($this->messages, array($message, $type)); 93:         $this->message = array($message, $type);
 93:  94:         $this->save_message();
 94:         $this->save_messages(); 
 95:     } 95:     }
 96:  96: 
 97:  97: 
 98:     private function save_messages() 98:     private function save_message()
 99:     { 99:     {
100:          $_SESSION['punbb_forum_flash'] = serialize($this->messages);100:         $_SESSION['punbb_forum_flash'] = serialize($this->message);
101:     }101:     }
102: 102: 
103: 103: 
104:     private function get_messages()104:     private function get_message()
105:     {105:     {
106:         $messages = array();106:         $message = NULL;
107: 107: 
108:         if (isset($_SESSION['punbb_forum_flash'])) {108:         if (isset($_SESSION['punbb_forum_flash'])) {
109:             $tmp_messages = unserialize($_SESSION['punbb_forum_flash']);109:             $tmp_message = unserialize($_SESSION['punbb_forum_flash']);
110: 110: 
111:             if (is_array($tmp_messages))111:             if (!is_null($tmp_message) && !empty($tmp_message))
112:                 $messages = $tmp_messages;112:             {
 113:                 if (is_array($tmp_message) && !empty($tmp_message[0]) && !empty($tmp_message[1]))
 114:                 {
 115:                     $message = $tmp_message;
 116:                 }
 117:             }
113:         }118:         }
114: 119: 
115:         return $messages;120:         return $message;
116:     }121:     }
117: }122: }
118: 123: 
119:  
120: // Create the flash messenger adapter object124: // Create the flash messenger adapter object
121: $forum_flash = new FlashMessenger();125: $forum_flash = new FlashMessenger();


punbb-1.4.1/include/functions.php punbb-1.4.2/include/functions.php
  2: /**  2: /**
  3:  * Loads common functions used throughout the site.  3:  * Loads common functions used throughout the site.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 32: } 32: }
 33:  33: 
 34:  34: 
  35: // Start PHP session
  36: function forum_session_start() {
  37:     static $forum_session_started = FALSE;
  38: 
  39:     $return = ($hook = get_hook('fn_forum_session_start_start')) ? eval($hook) : null;
  40:     if ($return != null)
  41:         return;
  42: 
  43:     // Check if session already started
  44:     if ($forum_session_started && session_id())
  45:         return;
  46: 
  47:     session_cache_limiter(FALSE);
  48: 
  49:     // Check session id
  50:     $forum_session_id = NULL;
  51:     if (isset($_COOKIE['PHPSESSID']))
  52:         $forum_session_id = $_COOKIE['PHPSESSID'];
  53:     else if (isset($_GET['PHPSESSID']))
  54:         $forum_session_id = $_GET['PHPSESSID'];
  55: 
  56:     if (empty($forum_session_id) || !preg_match('/^[a-z0-9]{16,32}$/', $forum_session_id))
  57:     {
  58:         // Create new session id
  59:         $forum_session_id = random_key(32, FALSE, TRUE);
  60:         session_id($forum_session_id);
  61:     }
  62: 
  63:     session_start();
  64:     if (!isset($_SESSION['initiated']))
  65:     {
  66:         session_regenerate_id();
  67:         $_SESSION['initiated'] = TRUE;
  68:     }
  69: 
  70:     $forum_session_started = TRUE;
  71: }
  72: 
  73: 
 35: // Converts the CDATA end sequence ]]> into ]]&gt; 74: // Converts the CDATA end sequence ]]> into ]]&gt;
 36: function escape_cdata($str) 75: function escape_cdata($str)
 37: { 76: {
 90: function forum_unregister_globals()129: function forum_unregister_globals()
 91: {130: {
 92:     $register_globals = @ini_get('register_globals');131:     $register_globals = @ini_get('register_globals');
 93:     if ($register_globals === "" || $register_globals === "0" || strtolower($register_globals) === "off")132:     if ($register_globals === '' || $register_globals === '0' || strtolower($register_globals) === 'off')
 94:         return;133:         return;
 95: 134: 
 96:     // Prevent script.php?GLOBALS[foo]=bar135:     // Prevent script.php?GLOBALS[foo]=bar
156: 195: 
157:         // Otherwise I am not aware of a work around...196:         // Otherwise I am not aware of a work around...
158:         else197:         else
159:             error('The web server you are using is not correctly setting the REQUEST_URI variable.<br/>This usually means you are using IIS6, or an unpatched IIS7. Please either disable SEF URLs, upgrade to IIS7 and install any available patches or try a different web server.');198:             error('The web server you are using is not correctly setting the REQUEST_URI variable.<br />This usually means you are using IIS6, or an unpatched IIS7. Please either disable SEF URLs, upgrade to IIS7 and install any available patches or try a different web server.');
160:     }199:     }
161: }200: }
162: 201: 
475:         {514:         {
476:             $links['search'] = '<li id="navsearch"'.((FORUM_PAGE == 'search') ? ' class="isactive"' : '').'><a href="'.forum_link($forum_url['search']).'">'.$lang_common['Search'].'</a></li>';515:             $links['search'] = '<li id="navsearch"'.((FORUM_PAGE == 'search') ? ' class="isactive"' : '').'><a href="'.forum_link($forum_url['search']).'">'.$lang_common['Search'].'</a></li>';
477:             $links['profile'] = '<li id="navprofile"'.((substr(FORUM_PAGE, 0, 7) == 'profile') ? ' class="isactive"' : '').'><a href="'.forum_link($forum_url['user'], $forum_user['id']).'">'.$lang_common['Profile'].'</a></li>';516:             $links['profile'] = '<li id="navprofile"'.((substr(FORUM_PAGE, 0, 7) == 'profile') ? ' class="isactive"' : '').'><a href="'.forum_link($forum_url['user'], $forum_user['id']).'">'.$lang_common['Profile'].'</a></li>';
478:             $links['logout'] = '<li id="navlogout"><a href="'.forum_link($forum_url['logout'], array($forum_user['id'], generate_form_token('logout'.$forum_user['id']))).'">'.$lang_common['Logout'].'</a></li>'; 
479:             $links['admin'] = '<li id="navadmin"'.((substr(FORUM_PAGE, 0, 5) == 'admin') ? ' class="isactive"' : '').'><a href="'.forum_link($forum_url['admin_index']).'">'.$lang_common['Admin'].'</a></li>';517:             $links['admin'] = '<li id="navadmin"'.((substr(FORUM_PAGE, 0, 5) == 'admin') ? ' class="isactive"' : '').'><a href="'.forum_link($forum_url['admin_index']).'">'.$lang_common['Admin'].'</a></li>';
 518:             $links['logout'] = '<li id="navlogout"><a href="'.forum_link($forum_url['logout'], array($forum_user['id'], generate_form_token('logout'.$forum_user['id']))).'">'.$lang_common['Logout'].'</a></li>';
480:         }519:         }
481:     }520:     }
482: 521: 
599:         return $return;638:         return $return;
600: 639: 
601:     if ($forum_page['num_pages'] == 1)640:     if ($forum_page['num_pages'] == 1)
602:         $item_info =  '<span class="item-info">'.sprintf($lang_common['Item info single'], $label, forum_number_format($total)).'</span>';641:         $item_info = '<span class="item-info">'.sprintf($lang_common['Item info single'], $label, forum_number_format($total)).'</span>';
603:     else642:     else
604:         $item_info = '<span class="item-info">'.sprintf($lang_common['Item info plural'], $label, forum_number_format($first), forum_number_format($forum_page['finish_at']), forum_number_format($total)).'</span>';643:         $item_info = '<span class="item-info">'.sprintf($lang_common['Item info plural'], $label, forum_number_format($first), forum_number_format($forum_page['finish_at']), forum_number_format($total)).'</span>';
605: 644: 
657:             if ($current < 1 || $current > $num_pages)696:             if ($current < 1 || $current > $num_pages)
658:                 continue;697:                 continue;
659:             else if ($current != $cur_page || $link_to_all)698:             else if ($current != $cur_page || $link_to_all)
660:                 $pages[] = '<a'.(empty($pages) ? ' class="first-item" ' : '').' href="'.forum_sublink($link, $forum_url_page, $current, $args).'">'.forum_number_format($current).'</a>';699:                 $pages[] = '<a'.(empty($pages) ? ' class="first-item"' : '').' href="'.forum_sublink($link, $forum_url_page, $current, $args).'">'.forum_number_format($current).'</a>';
661:             else700:             else
662:                 $pages[] = '<strong'.(empty($pages) ? ' class="first-item"' : '').'>'.forum_number_format($current).'</strong>';701:                 $pages[] = '<strong'.(empty($pages) ? ' class="first-item"' : '').'>'.forum_number_format($current).'</strong>';
663: 702: 
666:             if ($cur_page != ($num_pages-3) && $cur_page != ($num_pages-4))705:             if ($cur_page != ($num_pages-3) && $cur_page != ($num_pages-4))
667:                 $pages[] = '<span>'.$lang_common['Spacer'].'</span>';706:                 $pages[] = '<span>'.$lang_common['Spacer'].'</span>';
668: 707: 
669:             $pages[] = '<a'.(empty($pages) ? ' class="first-item" ' : '').' href="'.forum_sublink($link, $forum_url_page, $num_pages, $args).'">'.forum_number_format($num_pages).'</a>';708:             $pages[] = '<a'.(empty($pages) ? ' class="first-item"' : '').' href="'.forum_sublink($link, $forum_url_page, $num_pages, $args).'">'.forum_number_format($num_pages).'</a>';
670:         }709:         }
671: 710: 
672:         // Add a next page link711:         // Add a next page link
673:         if ($num_pages > 1 && !$link_to_all && $cur_page < $num_pages)712:         if ($num_pages > 1 && !$link_to_all && $cur_page < $num_pages)
674:             $pages[] = '<a'.(empty($pages) ? ' class="first-item" ' : '').' href="'.forum_sublink($link, $forum_url_page, ($cur_page + 1), $args).'">'.$lang_common['Next'].'</a>';713:             $pages[] = '<a'.(empty($pages) ? ' class="first-item"' : '').' href="'.forum_sublink($link, $forum_url_page, ($cur_page + 1), $args).'">'.$lang_common['Next'].'</a>';
675:     }714:     }
676: 715: 
677:     ($hook = get_hook('fn_paginate_end')) ? eval($hook) : null;716:     ($hook = get_hook('fn_paginate_end')) ? eval($hook) : null;
844: // Replace censored words in $text loader883: // Replace censored words in $text loader
845: function censor_words($text)884: function censor_words($text)
846: {885: {
847:     global $forum_db;886:     global $forum_db, $forum_censors;
848: 887: 
849:     $return = ($hook = get_hook('fn_censor_words_start')) ? eval($hook) : null;888:     $return = ($hook = get_hook('fn_censor_words_start')) ? eval($hook) : null;
850:     if ($return != null)889:     if ($return != null)
876: // Replace censored words in $text915: // Replace censored words in $text
877: function censor_words_do($forum_censors, $text, $unicode)916: function censor_words_do($forum_censors, $text, $unicode)
878: {917: {
879:     static $search_for, $replace_with;918:     static $search_for = NULL;
 919:     static $replace_with = NULL;
 920: 
 921:     if (is_null($search_for))
 922:         $search_for = array();
 923: 
 924:     if (is_null($replace_with))
 925:         $replace_with = array();
880: 926: 
881:     $search_for = array(); 
882:     $replace_with = array(); 
883: 927: 
884:     if (!empty($forum_censors))928:     if (!empty($forum_censors))
885:     {929:     {
1033: // Return a list of all URL schemes installed1077: // Return a list of all URL schemes installed
1034: function get_scheme_packs()1078: function get_scheme_packs()
1035: {1079: {
1036:       $schemes = array();1080:     $schemes = array();
1037: 1081: 
1038:     if ($handle = opendir(FORUM_ROOT.'include/url'))1082:     if ($handle = opendir(FORUM_ROOT.'include/url'))
1039:     {1083:     {
3098:     while (preg_match('#<!-- ?forum_include "([^/\\\\]*?)" ?-->#', $tpl_maint, $cur_include))3142:     while (preg_match('#<!-- ?forum_include "([^/\\\\]*?)" ?-->#', $tpl_maint, $cur_include))
3099:     {3143:     {
3100:         if (!file_exists(FORUM_ROOT.'include/user/'.$cur_include[1]))3144:         if (!file_exists(FORUM_ROOT.'include/user/'.$cur_include[1]))
3101:             error('Unable to process user include &lt;!-- forum_include "'.forum_htmlencode($cur_include[1]).'" --&gt; from template maintenance.tpl.<br/>There is no such file in folder /include/user/.');3145:             error('Unable to process user include &lt;!-- forum_include "'.forum_htmlencode($cur_include[1]).'" --&gt; from template maintenance.tpl.<br />There is no such file in folder /include/user/.');
3102: 3146: 
3103:         ob_start();3147:         ob_start();
3104:         include FORUM_ROOT.'include/user/'.$cur_include[1];3148:         include FORUM_ROOT.'include/user/'.$cur_include[1];
3220:     while (preg_match('#<!-- ?forum_include "([^/\\\\]*?)" ?-->#', $tpl_redir, $cur_include))3264:     while (preg_match('#<!-- ?forum_include "([^/\\\\]*?)" ?-->#', $tpl_redir, $cur_include))
3221:     {3265:     {
3222:         if (!file_exists(FORUM_ROOT.'include/user/'.$cur_include[1]))3266:         if (!file_exists(FORUM_ROOT.'include/user/'.$cur_include[1]))
3223:             error('Unable to process user include &lt;!-- forum_include "'.forum_htmlencode($cur_include[1]).'" --&gt; from template redirect.tpl.<br/>There is no such file in folder /include/user/.');3267:             error('Unable to process user include &lt;!-- forum_include "'.forum_htmlencode($cur_include[1]).'" --&gt; from template redirect.tpl.<br />There is no such file in folder /include/user/.');
3224: 3268: 
3225:         ob_start();3269:         ob_start();
3226:         include FORUM_ROOT.'include/user/'.$cur_include[1];3270:         include FORUM_ROOT.'include/user/'.$cur_include[1];
3241: // Display a simple error message3285: // Display a simple error message
3242: function error()3286: function error()
3243: {3287: {
3244:     global $forum_config;3288:     global $forum_config, $lang_common;
3245: 3289: 
3246:     if (!headers_sent())3290:     if (!headers_sent())
3247:     {3291:     {
3279:         $forum_config['o_gzip'] = '0';3323:         $forum_config['o_gzip'] = '0';
3280:     }3324:     }
3281: 3325: 
 3326:     // Set a default error messages string if the script failed before $common_lang loaded
 3327:     if (empty($lang_common['Forum error header']))
 3328:     {
 3329:         $lang_common['Forum error header'] = 'Sorry! The page could not be loaded.';
 3330:     }
 3331: 
 3332:     if (empty($lang_common['Forum error description']))
 3333:     {
 3334:         $lang_common['Forum error description'] = 'This is probably a temporary error. Just refresh the page and retry. If problem continues, please check back in 5-10 minutes.';
 3335:     }
 3336: 
 3337:     if (empty($lang_common['Forum error location']))
 3338:     {
 3339:         $lang_common['Forum error location'] = 'The error occurred on line %1$s in %2$s';
 3340:     }
 3341: 
 3342:     if (empty($lang_common['Forum error db reported']))
 3343:     {
 3344:         $lang_common['Forum error db reported'] = 'Database reported:';
 3345:     }
 3346: 
 3347:     if (empty($lang_common['Forum error db query']))
 3348:     {
 3349:         $lang_common['Forum error db query'] = 'Failed query:';
 3350:     }
 3351: 
 3352: 
3282:     // Empty all output buffers and stop buffering3353:     // Empty all output buffers and stop buffering
3283:     while (@ob_end_clean());3354:     while (@ob_end_clean());
3284: 3355: 
3290: <!DOCTYPE html>3361: <!DOCTYPE html>
3291: <html lang="en" dir="ltr">3362: <html lang="en" dir="ltr">
3292: <head>3363: <head>
3293:     <meta charset="utf-8"/>3364:     <meta charset="utf-8" />
3294:     <title>Error - <?php echo forum_htmlencode($forum_config['o_board_title']) ?></title>3365:     <title>Error - <?php echo forum_htmlencode($forum_config['o_board_title']) ?></title>
 3366:     <style>
 3367:         strong    { font-weight: bold; }
 3368:         body    { margin: 50px; font: 85%/150% verdana, arial, sans-serif; color: #222; max-width: 55em; }
 3369:         h1        { color: #a00000; font-weight: normal; font-size: 1.45em; }
 3370:         code    { font-family: monospace, sans-serif; }
 3371:         .error_line { color: #999; font-size: .95em; }
 3372:     </style>
3295: </head>3373: </head>
3296: <body style="margin: 40px; font: 85%/150% verdana, arial, sans-serif; color: #222; max-width: 55em;">3374: <body>
3297: <h1 style="color: #a00000; font-weight: normal;">An error was encountered</h1>3375:     <h1><?php echo forum_htmlencode($lang_common['Forum error header']) ?></h1>
3298: <?php3376: <?php
3299:  
3300:     if (isset($message))3377:     if (isset($message))
3301:         echo '<p>'.$message.'</p>'."\n";3378:         echo '<p>'.$message.'</p>'."\n";
 3379:     else
 3380:         echo '<p>'.forum_htmlencode($lang_common['Forum error description']).'</p>'."\n";
3302: 3381: 
3303:     if ($num_args > 1)3382:     if ($num_args > 1)
3304:     {3383:     {
3305:         if (defined('FORUM_DEBUG'))3384:         if (defined('FORUM_DEBUG'))
3306:         {3385:         {
3307:             if (isset($file) && isset($line)) 
3308:                 echo '<p>The error occurred on line '.$line.' in '.$file.'</p>'."\n"; 
3309:  
3310:             $db_error = isset($GLOBALS['forum_db']) ? $GLOBALS['forum_db']->error() : array();3386:             $db_error = isset($GLOBALS['forum_db']) ? $GLOBALS['forum_db']->error() : array();
3311:             if (!empty($db_error['error_msg']))3387:             if (!empty($db_error['error_msg']))
3312:             {3388:             {
3313:                 echo '<p><strong>Database reported:</strong> '.forum_htmlencode($db_error['error_msg']).(($db_error['error_no']) ? ' (Errno: '.$db_error['error_no'].')' : '').'.</p>'."\n";3389:                 echo '<p><strong>'.forum_htmlencode($lang_common['Forum error db reported']).'</strong> '.forum_htmlencode($db_error['error_msg']).(($db_error['error_no']) ? ' (Errno: '.$db_error['error_no'].')' : '').'.</p>'."\n";
3314: 3390: 
3315:                 if ($db_error['error_sql'] != '')3391:                 if ($db_error['error_sql'] != '')
3316:                     echo '<p><strong>Failed query:</strong> <code>'.forum_htmlencode($db_error['error_sql']).'</code></p>'."\n";3392:                     echo '<p><strong>'.forum_htmlencode($lang_common['Forum error db query']).'</strong> <code>'.forum_htmlencode($db_error['error_sql']).'</code></p>'."\n";
3317:             }3393:             }
 3394: 
 3395:             if (isset($file) && isset($line))
 3396:                 echo '<p class="error_line">'.forum_htmlencode(sprintf($lang_common['Forum error location'], $line, $file)).'</p>'."\n";
3318:         }3397:         }
3319:         else 
3320:             echo '<p style="font-size: .95em;"><strong>Note:</strong> For detailed error information (necessary for troubleshooting), enable "DEBUG mode".<br/>To enable "DEBUG mode", open up&nbsp;the file config.php in&nbsp;a&nbsp;text editor, add a&nbsp;line that looks like <nobr>"define(\'FORUM_DEBUG\', 1);"</nobr> (without the quotation marks), and re-upload the file.<br/>Once you\'ve solved the problem, it&nbsp;is recommended that "DEBUG mode" be&nbsp;turned off again (just remove the line from the file and re-upload it).</p>'."\n"; 
3321:     }3398:     }
3322:  
3323: ?>3399: ?>
3324:  
3325: </body>3400: </body>
3326: </html>3401: </html>
3327: <?php3402: <?php
3328:  
3329:     // If a database connection was established (before this error) we close it3403:     // If a database connection was established (before this error) we close it
3330:     if (isset($GLOBALS['forum_db']))3404:     if (isset($GLOBALS['forum_db']))
3331:         $GLOBALS['forum_db']->close();3405:         $GLOBALS['forum_db']->close();


punbb-1.4.1/include/js/LAB.src.js punbb-1.4.2/include/js/LAB.src.js
  1: /*! LAB.js (LABjs :: Loading And Blocking JavaScript) 
  2:     v1.2.0 (c) Kyle Simpson 
  3:     MIT License 
  4: */ 
  5:  
  6: (function(global){ 
  7:     var sSTRING = "string",                // constants used for compression optimization 
  8:         sHEAD = "head", 
  9:         sBODY = "body", 
 10:         sSCRIPT = "script", 
 11:         sREADYSTATE = "readyState", 
 12:         sPRELOADDONE = "preloaddone", 
 13:         sLOADTRIGGER = "loadtrigger", 
 14:         sSRCURI = "srcuri", 
 15:         sPRELOAD = "preload", 
 16:         sCOMPLETE = "complete", 
 17:         sDONE = "done", 
 18:         sWHICH = "which", 
 19:         sPRESERVE = "preserve", 
 20:         sONREADYSTATECHANGE = "onreadystatechange", 
 21:         sONLOAD = "onload", 
 22:         sHASOWNPROPERTY = "hasOwnProperty", 
 23:         sSCRIPTCACHE = "script/cache", 
 24:         sTYPEOBJ = "[object ", 
 25:         sTYPEFUNC = sTYPEOBJ+"Function]", 
 26:         sTYPEARRAY = sTYPEOBJ+"Array]", 
 27:         nNULL = null, 
 28:         bTRUE = true, 
 29:         bFALSE = false, 
 30:         oDOC = global.document, 
 31:         oWINLOC = global.location, 
 32:         oACTIVEX = global.ActiveXObject, 
 33:         fSETTIMEOUT = global.setTimeout, 
 34:         fCLEARTIMEOUT = global.clearTimeout, 
 35:         fGETELEMENTSBYTAGNAME = function(tn){return oDOC.getElementsByTagName(tn);}, 
 36:         fOBJTOSTRING = Object.prototype.toString, 
 37:         fNOOP = function(){}, 
 38:         append_to = {}, 
 39:         all_scripts = {}, 
 40:         PAGEROOT = /^[^?#]*\//.exec(oWINLOC.href)[0], // these ROOTs do not support file:/// usage, only http:// type usage 
 41:         DOCROOT = /^\w+\:\/\/\/?[^\/]+/.exec(PAGEROOT)[0], // optional third / in the protocol portion of this regex so that LABjs doesn't blow up when used in file:/// usage 
 42:         docScripts = fGETELEMENTSBYTAGNAME(sSCRIPT), 
 43:  
 44:         // Ah-ha hush that fuss, feature inference is used to detect specific browsers 
 45:         // because the techniques used in LABjs have no known feature detection. If 
 46:         // you know of a feature test please contact me ASAP. Feature inference is used 
 47:         // instead of user agent sniffing because the UA string can be easily 
 48:         // spoofed and is not adequate for such a mission critical part of the code. 
 49:         is_opera = global.opera && fOBJTOSTRING.call(global.opera) == sTYPEOBJ+"Opera]", 
 50:         is_gecko = ("MozAppearance" in oDOC.documentElement.style), 
 51:          
 52:         // the following is a feature sniff for the ability to set async=false on dynamically created script elements, as proposed to the W3C 
 53:         // RE: http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order 
 54:         is_script_async = (oDOC.createElement(sSCRIPT).async === true), 
 55:  
 56:         global_defs = { 
 57:             cache:!(is_gecko||is_opera), // browsers like IE/Safari/Chrome can use the "cache" trick to preload 
 58:             order:is_gecko||is_opera||is_script_async,    // FF(prior to FF4) & Opera preserve execution order with script tags automatically, 
 59:                                                         // so just add all scripts as fast as possible. FF4 has async=false to do the same 
 60:             xhr:bTRUE, // use XHR trick to preload local scripts 
 61:             dupe:bTRUE, // allow duplicate scripts? defaults to true now 'cause is slightly more performant that way (less checks) 
 62:             base:"", // base path to prepend to all non-absolute-path scripts 
 63:             which:sHEAD // which DOM object ("head" or "body") to append scripts to 
 64:         } 
 65:     ; 
 66:     global_defs[sPRESERVE] = bFALSE; // force preserve execution order of all loaded scripts (regardless of preloading) 
 67:     global_defs[sPRELOAD] = bTRUE; // use various tricks for "preloading" scripts 
 68:      
 69:     append_to[sHEAD] = oDOC.head || fGETELEMENTSBYTAGNAME(sHEAD); 
 70:     append_to[sBODY] = fGETELEMENTSBYTAGNAME(sBODY); 
 71:      
 72:     function isFunc(func) { return fOBJTOSTRING.call(func) === sTYPEFUNC; } 
 73:     function canonicalScriptURI(src,base_path) { 
 74:         var regex = /^\w+\:\/\//, ret;  
 75:         if (typeof src != sSTRING) src = ""; 
 76:         if (typeof base_path != sSTRING) base_path = ""; 
 77:         ret = ((/^\/\//.test(src)) ? oWINLOC.protocol : "") + src; 
 78:         ret = (regex.test(ret) ? "" : base_path) + ret; 
 79:         return ((regex.test(ret) ? "" : (ret.charAt(0) === "/" ? DOCROOT : PAGEROOT)) + ret); 
 80:     } 
 81:     function sameDomain(src) { return (canonicalScriptURI(src).indexOf(DOCROOT) === 0); } 
 82:     function scriptTagExists(uri) { // checks if a script uri has ever been loaded into this page's DOM 
 83:         var script, idx=-1; 
 84:         while (script = docScripts[++idx]) { 
 85:             if (typeof script.src == sSTRING && uri === canonicalScriptURI(script.src) && script.type !== sSCRIPTCACHE) return bTRUE; 
 86:         } 
 87:         return bFALSE; 
 88:     } 
 89:     function engine(queueExec,opts) { 
 90:         queueExec = !(!queueExec); 
 91:         if (opts == nNULL) opts = global_defs; 
 92:          
 93:         var ready = bFALSE, 
 94:             _use_preload = queueExec && opts[sPRELOAD], 
 95:             _use_cache_preload = _use_preload && opts.cache, 
 96:             _use_script_order = _use_preload && opts.order, 
 97:             _use_xhr_preload = _use_preload && opts.xhr, 
 98:             _auto_wait = opts[sPRESERVE], 
 99:             _which = opts.which, 
100:             _base_path = opts.base, 
101:             waitFunc = fNOOP, 
102:             scripts_loading = bFALSE, 
103:             publicAPI, 
104:  
105:             first_pass = bTRUE, 
106:             scripts = {}, 
107:             exec = [], 
108:             end_of_chain_check_interval = nNULL 
109:         ; 
110:          
111:         _use_preload = _use_cache_preload || _use_xhr_preload || _use_script_order; // if all flags are turned off, preload is moot so disable it 
112:          
113:         function isScriptLoaded(elem,scriptentry) { 
114:             if ((elem[sREADYSTATE] && elem[sREADYSTATE]!==sCOMPLETE && elem[sREADYSTATE]!=="loaded") || scriptentry[sDONE]) { return bFALSE; } 
115:             elem[sONLOAD] = elem[sONREADYSTATECHANGE] = nNULL; // prevent memory leak 
116:             return bTRUE; 
117:         } 
118:         function handleScriptLoad(elem,scriptentry,skipReadyCheck) { 
119:             skipReadyCheck = !(!skipReadyCheck); // used to override ready check when script text was injected from XHR preload 
120:             if (!skipReadyCheck && !(isScriptLoaded(elem,scriptentry))) return; 
121:             scriptentry[sDONE] = bTRUE; 
122:  
123:             for (var key in scripts) { 
124:                 if (scripts[sHASOWNPROPERTY](key) && !(scripts[key][sDONE])) return; 
125:             } 
126:             ready = bTRUE; 
127:             waitFunc(); 
128:         } 
129:         function loadTriggerExecute(scriptentry) { 
130:             if (isFunc(scriptentry[sLOADTRIGGER])) { 
131:                 scriptentry[sLOADTRIGGER](); 
132:                 scriptentry[sLOADTRIGGER] = nNULL; // prevent memory leak 
133:             } 
134:         } 
135:         function handleScriptPreload(elem,scriptentry) { 
136:             if (!isScriptLoaded(elem,scriptentry)) return; 
137:             scriptentry[sPRELOADDONE] = bTRUE; 
138:             fSETTIMEOUT(function(){ 
139:                 append_to[scriptentry[sWHICH]].removeChild(elem); // remove preload script node 
140:                 loadTriggerExecute(scriptentry); 
141:             },0); 
142:         } 
143:         function handleXHRPreload(xhr,scriptentry) { 
144:             if (xhr[sREADYSTATE] === 4) { 
145:                 xhr[sONREADYSTATECHANGE] = fNOOP; // fix a memory leak in IE 
146:                 scriptentry[sPRELOADDONE] = bTRUE; 
147:                 fSETTIMEOUT(function(){ loadTriggerExecute(scriptentry); },0); 
148:             } 
149:         } 
150:         function createScriptTag(scriptentry,src,type,charset,onload,scriptText) { 
151:             var _script_which = scriptentry[sWHICH]; 
152:             fSETTIMEOUT(function() { // this setTimeout waiting "hack" prevents a nasty race condition browser hang (IE) when the document.write("<script defer=true>") type dom-ready hack is present in the page 
153:                 if ("item" in append_to[_script_which]) { // check if ref is still a live node list 
154:                     if (!append_to[_script_which][0]) { // append_to node not yet ready 
155:                         fSETTIMEOUT(arguments.callee,25); // try again in a little bit -- note, will recall the anonymous function in the outer setTimeout, not the parent createScriptTag() 
156:                         return; 
157:                     } 
158:                     append_to[_script_which] = append_to[_script_which][0]; // reassign from live node list ref to pure node ref -- avoids nasty IE bug where changes to DOM invalidate live node lists 
159:                 } 
160:                 var scriptElem = oDOC.createElement(sSCRIPT); 
161:                 if (typeof type == sSTRING) scriptElem.type = type; 
162:                 if (typeof charset == sSTRING) scriptElem.charset = charset; 
163:                 if (isFunc(onload)) { // load script via 'src' attribute, set onload/onreadystatechange listeners 
164:                     scriptElem[sONLOAD] = scriptElem[sONREADYSTATECHANGE] = function(){onload(scriptElem,scriptentry);}; 
165:                     scriptElem.src = src; 
166:                     if (is_script_async) { 
167:                         scriptElem.async = bFALSE; 
168:                     } 
169:                 } 
170:                 // only for appending to <head>, fix a bug in IE6 if <base> tag is present -- otherwise, insertBefore(...,null) acts just like appendChild() 
171:                 append_to[_script_which].insertBefore(scriptElem,(_script_which===sHEAD?append_to[_script_which].firstChild:nNULL)); 
172:                 if (typeof scriptText == sSTRING) { // script text already avaiable from XHR preload, so just inject it 
173:                     scriptElem.text = scriptText; 
174:                     handleScriptLoad(scriptElem,scriptentry,bTRUE); // manually call 'load' callback function, skipReadyCheck=true 
175:                 } 
176:             },0); 
177:         } 
178:         function loadScriptElem(scriptentry,src,type,charset) { 
179:             all_scripts[scriptentry[sSRCURI]] = bTRUE; 
180:             createScriptTag(scriptentry,src,type,charset,handleScriptLoad); 
181:         } 
182:         function loadScriptCache(scriptentry,src,type,charset) { 
183:             var args = arguments; 
184:             if (first_pass && scriptentry[sPRELOADDONE] == nNULL) { // need to preload into cache 
185:                 scriptentry[sPRELOADDONE] = bFALSE; 
186:                 createScriptTag(scriptentry,src,sSCRIPTCACHE,charset,handleScriptPreload); // fake mimetype causes a fetch into cache, but no execution 
187:             } 
188:             else if (!first_pass && scriptentry[sPRELOADDONE] != nNULL && !scriptentry[sPRELOADDONE]) { // preload still in progress, make sure trigger is set for execution later 
189:                 scriptentry[sLOADTRIGGER] = function(){loadScriptCache.apply(nNULL,args);}; 
190:             } 
191:             else if (!first_pass) { // preload done, so reload (from cache, hopefully!) as regular script element 
192:                 loadScriptElem.apply(nNULL,args); 
193:             } 
194:         } 
195:         function loadScriptXHR(scriptentry,src,type,charset) { 
196:             var args = arguments, xhr; 
197:             if (first_pass && scriptentry[sPRELOADDONE] == nNULL) { // need to preload 
198:                 scriptentry[sPRELOADDONE] = bFALSE; 
199:                 xhr = scriptentry.xhr = (oACTIVEX ? new oACTIVEX("Microsoft.XMLHTTP") : new global.XMLHttpRequest()); 
200:                 xhr[sONREADYSTATECHANGE] = function(){handleXHRPreload(xhr,scriptentry);}; 
201:                 xhr.open("GET",src); 
202:                 xhr.send(""); 
203:             } 
204:             else if (!first_pass && scriptentry[sPRELOADDONE] != nNULL && !scriptentry[sPRELOADDONE]) {    // preload XHR still in progress, make sure trigger is set for execution later 
205:                 scriptentry[sLOADTRIGGER] = function(){loadScriptXHR.apply(nNULL,args);}; 
206:             } 
207:             else if (!first_pass) { // preload done, so "execute" script via injection 
208:                 all_scripts[scriptentry[sSRCURI]] = bTRUE; 
209:                 createScriptTag(scriptentry,src,type,charset,nNULL,scriptentry.xhr.responseText); 
210:                 scriptentry.xhr = nNULL; 
211:             } 
212:         } 
213:         function loadScript(o) { 
214:             if (typeof o == "undefined" || !o) return; // skip over this script call if there's nothing to load 
215:             if (o.allowDup == nNULL) o.allowDup = opts.dupe; 
216:             var src = o.src, type = o.type, charset = o.charset, allowDup = o.allowDup,  
217:                 src_uri = canonicalScriptURI(src,_base_path), scriptentry, same_domain = sameDomain(src_uri); 
218:             if (typeof charset != sSTRING) charset = nNULL; 
219:             allowDup = !(!allowDup); 
220:             if (!allowDup &&  
221:                 ( 
222:                     (all_scripts[src_uri] != nNULL) || (first_pass && scripts[src_uri]) || scriptTagExists(src_uri) 
223:                 ) 
224:             ) { 
225:                 if (scripts[src_uri] != nNULL && scripts[src_uri][sPRELOADDONE] && !scripts[src_uri][sDONE] && same_domain) { 
226:                     // this script was preloaded via XHR, but is a duplicate, and dupes are not allowed 
227:                     handleScriptLoad(nNULL,scripts[src_uri],bTRUE); // mark the entry as done and check if chain group is done 
228:                 } 
229:                 return; 
230:             } 
231:             if (scripts[src_uri] == nNULL) scripts[src_uri] = {}; 
232:             scriptentry = scripts[src_uri]; 
233:             if (scriptentry[sWHICH] == nNULL) scriptentry[sWHICH] = _which; 
234:             scriptentry[sDONE] = bFALSE; 
235:             scriptentry[sSRCURI] = src_uri; 
236:             scripts_loading = bTRUE; 
237:              
238:             if (!_use_script_order && _use_xhr_preload && same_domain) loadScriptXHR(scriptentry,src_uri,type,charset); 
239:             else if (!_use_script_order && _use_cache_preload) loadScriptCache(scriptentry,src_uri,type,charset); 
240:             else loadScriptElem(scriptentry,src_uri,type,charset); 
241:         } 
242:         function queueAndExecute(execBody) { // helper for publicAPI functions below 
243:             if (queueExec && !_use_script_order) exec.push(execBody); 
244:             if (!queueExec || _use_preload) execBody(); // if engine is either not queueing, or is queuing in preload mode, go ahead and execute 
245:         } 
246:         function serializeArgs(args) { 
247:             var sargs = [], idx; 
248:             for (idx=-1; ++idx<args.length;) { 
249:                 if (fOBJTOSTRING.call(args[idx]) === sTYPEARRAY) sargs = sargs.concat(serializeArgs(args[idx])); 
250:                 else sargs[sargs.length] = args[idx]; 
251:             } 
252:             return sargs; 
253:         } 
254:                  
255:         publicAPI = { 
256:             script:function() { 
257:                 fCLEARTIMEOUT(end_of_chain_check_interval); 
258:                 var args = serializeArgs(arguments), use_engine = publicAPI, idx; 
259:                 if (_auto_wait) { 
260:                     for (idx=-1; ++idx<args.length;) { 
261:                         if (isFunc(args[idx])) args[idx] = args[idx](); // if a function is found, call/evaluate it first 
262:                         if (idx===0) { 
263:                             queueAndExecute(function(){ 
264:                                 loadScript((typeof args[0] == sSTRING) ? {src:args[0]} : args[0]); 
265:                             }); 
266:                         } 
267:                         else use_engine = use_engine.script(args[idx]); 
268:                         use_engine = use_engine.wait(); 
269:                     } 
270:                 } 
271:                 else { 
272:                     for (idx=-1; ++idx<args.length;) { 
273:                         if (isFunc(args[idx])) args[idx] = args[idx](); // if a function is found, call/evaluate it first 
274:                     } 
275:                     queueAndExecute(function(){ 
276:                         for (idx=-1; ++idx<args.length;) { 
277:                             loadScript((typeof args[idx] == sSTRING) ? {src:args[idx]} : args[idx]); 
278:                         } 
279:                     }); 
280:                 } 
281:                 end_of_chain_check_interval = fSETTIMEOUT(function(){first_pass = bFALSE;},5); // hack to "detect" the end of the chain if a wait() is not the last call 
282:                 return use_engine; 
283:             }, 
284:             wait:function(func) { 
285:                 fCLEARTIMEOUT(end_of_chain_check_interval); 
286:                 first_pass = bFALSE; 
287:                 if (!isFunc(func)) func = fNOOP; 
288:                 // On this current chain's waitFunc function, tack on call to trigger the queue for the *next* engine  
289:                 // in the chain, which will be executed when the current chain finishes loading 
290:                 var e = engine(queueExec||scripts_loading,opts),    // if already in queuing, or if scripts now loading, keep queuing 
291:                     triggerNextChain = e.trigger, // store ref to e's trigger function for use by 'wfunc' 
292:                     wfunc = function(){ try { func(); } catch(err) {} triggerNextChain(); }; 
293:                 delete e.trigger; // remove the 'trigger' property from e's public API, since only used internally 
294:                 var fn = function(){ 
295:                     if (scripts_loading && !ready) waitFunc = wfunc; 
296:                     else wfunc(); 
297:                 }; 
298:  
299:                 if (queueExec && !scripts_loading) exec.push(fn); 
300:                 else queueAndExecute(fn); 
301:                 return e; 
302:             } 
303:         }; 
304:         if (queueExec) { 
305:             // if queueing, return a function that the previous chain's waitFunc function can use to trigger this  
306:             // engine's queue. NOTE: this trigger function is captured and removed from the public chain API before return 
307:             publicAPI.trigger = function() { 
308:                 var fn, idx=-1; 
309:                 while (fn = exec[++idx]) fn(); 
310:                 exec = [];  
311:             }; 
312:         } 
313:         else publicAPI.trigger = fNOOP; // no-op trigger function because this chain is not in queuing mode, so nothing to trigger 
314:         return publicAPI; 
315:     } 
316:     function processOpts(opts) { 
317:         var k, newOpts = {},  
318:             boolOpts = {"UseCachePreload":"cache","UseLocalXHR":"xhr","UsePreloading":sPRELOAD,"AlwaysPreserveOrder":sPRESERVE,"AllowDuplicates":"dupe"}, 
319:             allOpts = {"AppendTo":sWHICH,"BasePath":"base"} 
320:         ; 
321:         for (k in boolOpts) allOpts[k] = boolOpts[k]; 
322:         newOpts.order = !(!global_defs.order); 
323:         for (k in allOpts) { 
324:             if (allOpts[sHASOWNPROPERTY](k) && global_defs[allOpts[k]] != nNULL) newOpts[allOpts[k]] = (opts[k] != nNULL) ? opts[k] : global_defs[allOpts[k]]; 
325:         } 
326:         for (k in boolOpts) { // normalize bool props to actual boolean values if not already 
327:             if (boolOpts[sHASOWNPROPERTY](k)) newOpts[boolOpts[k]] = !(!newOpts[boolOpts[k]]); 
328:         } 
329:         if (!newOpts[sPRELOAD]) newOpts.cache = newOpts.order = newOpts.xhr = bFALSE; // turn off all flags if preloading is disabled 
330:         newOpts.which = (newOpts.which === sHEAD || newOpts.which === sBODY) ? newOpts.which : sHEAD; 
331:         return newOpts; 
332:     } 
333:      
334:     global.$LAB = { 
335:         setGlobalDefaults:function(gdefs) { // intentionally does not return an "engine" instance -- must call as stand-alone function call on $LAB 
336:             global_defs = processOpts(gdefs); 
337:         }, 
338:         setOptions:function(opts){ // set options per chain 
339:             return engine(bFALSE,processOpts(opts)); 
340:         }, 
341:         script:function(){ // will load one or more scripts 
342:             return engine().script.apply(nNULL,arguments); 
343:         }, 
344:         wait:function(){ // will ensure that the chain's previous scripts are executed before execution of scripts in subsequent chain links 
345:             return engine().wait.apply(nNULL,arguments); 
346:         } 
347:     }; 
348:      
349:     /* The following "hack" was suggested by Andrea Giammarchi and adapted from: http://webreflection.blogspot.com/2009/11/195-chars-to-help-lazy-loading.html 
350:        NOTE: this hack only operates in FF and then only in versions where document.readyState is not present (FF < 3.6?). 
351:         
352:        The hack essentially "patches" the **page** that LABjs is loaded onto so that it has a proper conforming document.readyState, so that if a script which does  
353:        proper and safe dom-ready detection is loaded onto a page, after dom-ready has passed, it will still be able to detect this state, by inspecting the now hacked  
354:        document.readyState property. The loaded script in question can then immediately trigger any queued code executions that were waiting for the DOM to be ready.  
355:        For instance, jQuery 1.4+ has been patched to take advantage of document.readyState, which is enabled by this hack. But 1.3.2 and before are **not** safe or  
356:        fixed by this hack, and should therefore **not** be lazy-loaded by script loader tools such as LABjs. 
357:     */  
358:     (function(addEvent,domLoaded,handler){ 
359:         if (oDOC[sREADYSTATE] == nNULL && oDOC[addEvent]){ 
360:             oDOC[sREADYSTATE] = "loading"; 
361:             oDOC[addEvent](domLoaded,handler = function(){ 
362:                 oDOC.removeEventListener(domLoaded,handler,bFALSE); 
363:                 oDOC[sREADYSTATE] = sCOMPLETE; 
364:             },bFALSE); 
365:         } 
366:     })("addEventListener","DOMContentLoaded"); 
367:      
368: })(window); 
369:   0: 


punbb-1.4.1/include/js/min/punbb.common.min.js punbb-1.4.2/include/js/min/punbb.common.min.js
  3:     MIT License  3:     MIT License
  4: */  4: */
  5: (function(c){var h="string",k="head",t="body",U="script",O="readyState",R="preloaddone",D="loadtrigger",K="srcuri",H="preload",u="complete",f="done",b="which",v="preserve",o="onreadystatechange",L="onload",I="hasOwnProperty",E="script/cache",g="[object ",M=g+"Function]",F=g+"Array]",y=null,G=true,z=false,n=c.document,N=c.location,S=c.ActiveXObject,e=c.setTimeout,C=c.clearTimeout,T=function(V){return n.getElementsByTagName(V);},r=Object.prototype.toString,s=function(){},w={},A={},a=/^[^?#]*\//.exec(N.href)[0],x=/^\w+\:\/\/\/?[^\/]+/.exec(a)[0],Q=T(U),p=c.opera&&r.call(c.opera)==g+"Opera]",q=("MozAppearance" in n.documentElement.style),d=(n.createElement(U).async===true),m={cache:!(q||p),order:q||p||d,xhr:G,dupe:G,base:"",which:k};m[v]=z;m[H]=G;w[k]=n.head||T(k);w[t]=T(t);function P(V){return r.call(V)===M;}function B(Y,X){var W=/^\w+\:\/\//,V;if(typeof Y!=h){Y="";}if(typeof X!=h){X="";}V=((/^\/\//.test(Y))?N.protocol:"")+Y;V=(W.test(V)?"":X)+V;return((W.test(V)?"":(V.charAt(0)==="/"?x:a))+V);}function J(V){return(B(V).indexOf(x)===0);}function i(X){var W,V=-1;while(W=Q[++V]){if(typeof W.src==h&&X===B(W.src)&&W.type!==E){return G;}}return z;}function l(ay,am){ay=!(!ay);if(am==y){am=m;}var al=z,af=ay&&am[H],at=af&&am.cache,av=af&&am.order,Z=af&&am.xhr,aw=am[v],Y=am.which,ap=am.base,aa=s,ao=z,ai,ac=G,ad={},au=[],ag=y;af=at||Z||av;function ax(aA,az){if((aA[O]&&aA[O]!==u&&aA[O]!=="loaded")||az[f]){return z;}aA[L]=aA[o]=y;return G;}function X(aB,aA,aC){aC=!(!aC);if(!aC&&!(ax(aB,aA))){return;}aA[f]=G;for(var az in ad){if(ad[I](az)&&!(ad[az][f])){return;}}al=G;aa();}function ah(az){if(P(az[D])){az[D]();az[D]=y;}}function ae(aA,az){if(!ax(aA,az)){return;}az[R]=G;e(function(){w[az[b]].removeChild(aA);ah(az);},0);}function V(aA,az){if(aA[O]===4){aA[o]=s;az[R]=G;e(function(){ah(az);},0);}}function ar(aB,aE,aC,aF,aD,az){var aA=aB[b];e(function(){if("item" in w[aA]){if(!w[aA][0]){e(arguments.callee,25);return;}w[aA]=w[aA][0];}var aG=n.createElement(U);if(typeof aC==h){aG.type=aC;}if(typeof aF==h){aG.charset=aF;}if(P(aD)){aG[L]=aG[o]=function(){aD(aG,aB);};aG.src=aE;if(d){aG.async=z;}}w[aA].insertBefore(aG,(aA===k?w[aA].firstChild:y));if(typeof az==h){aG.text=az;X(aG,aB,G);}},0);}function ak(az,aB,aA,aC){A[az[K]]=G;ar(az,aB,aA,aC,X);}function aq(aA,aC,aB,aD){var az=arguments;if(ac&&aA[R]==y){aA[R]=z;ar(aA,aC,E,aD,ae);}else{if(!ac&&aA[R]!=y&&!aA[R]){aA[D]=function(){aq.apply(y,az);};}else{if(!ac){ak.apply(y,az);}}}}function W(aA,aD,aB,aE){var az=arguments,aC;if(ac&&aA[R]==y){aA[R]=z;aC=aA.xhr=(S?new S("Microsoft.XMLHTTP"):new c.XMLHttpRequest());aC[o]=function(){V(aC,aA);};aC.open("GET",aD);aC.send("");}else{if(!ac&&aA[R]!=y&&!aA[R]){aA[D]=function(){W.apply(y,az);};}else{if(!ac){A[aA[K]]=G;ar(aA,aD,aB,aE,y,aA.xhr.responseText);aA.xhr=y;}}}}function aj(aF){if(typeof aF=="undefined"||!aF){return;}if(aF.allowDup==y){aF.allowDup=am.dupe;}var aE=aF.src,aC=aF.type,aG=aF.charset,aA=aF.allowDup,az=B(aE,ap),aB,aD=J(az);if(typeof aG!=h){aG=y;}aA=!(!aA);if(!aA&&((A[az]!=y)||(ac&&ad[az])||i(az))){if(ad[az]!=y&&ad[az][R]&&!ad[az][f]&&aD){X(y,ad[az],G);}return;}if(ad[az]==y){ad[az]={};}aB=ad[az];if(aB[b]==y){aB[b]=Y;}aB[f]=z;aB[K]=az;ao=G;if(!av&&Z&&aD){W(aB,az,aC,aG);}else{if(!av&&at){aq(aB,az,aC,aG);}else{ak(aB,az,aC,aG);}}}function ab(az){if(ay&&!av){au.push(az);}if(!ay||af){az();}}function an(aB){var aA=[],az;for(az=-1;++az<aB.length;){if(r.call(aB[az])===F){aA=aA.concat(an(aB[az]));}else{aA[aA.length]=aB[az];}}return aA;}ai={script:function(){C(ag);var aB=an(arguments),aA=ai,az;if(aw){for(az=-1;++az<aB.length;){if(P(aB[az])){aB[az]=aB[az]();}if(az===0){ab(function(){aj((typeof aB[0]==h)?{src:aB[0]}:aB[0]);});}else{aA=aA.script(aB[az]);}aA=aA.wait();}}else{for(az=-1;++az<aB.length;){if(P(aB[az])){aB[az]=aB[az]();}}ab(function(){for(az=-1;++az<aB.length;){aj((typeof aB[az]==h)?{src:aB[az]}:aB[az]);}});}ag=e(function(){ac=z;},5);return aA;},wait:function(aC){C(ag);ac=z;if(!P(aC)){aC=s;}var aD=l(ay||ao,am),az=aD.trigger,aB=function(){try{aC();}catch(aE){}az();};delete aD.trigger;var aA=function(){if(ao&&!al){aa=aB;}else{aB();}};if(ay&&!ao){au.push(aA);}else{ab(aA);}return aD;}};if(ay){ai.trigger=function(){var aA,az=-1;while(aA=au[++az]){aA();}au=[];};}else{ai.trigger=s;}return ai;}function j(Z){var V,X={},W={"UseCachePreload":"cache","UseLocalXHR":"xhr","UsePreloading":H,"AlwaysPreserveOrder":v,"AllowDuplicates":"dupe"},Y={"AppendTo":b,"BasePath":"base"};for(V in W){Y[V]=W[V];}X.order=!(!m.order);for(V in Y){if(Y[I](V)&&m[Y[V]]!=y){X[Y[V]]=(Z[V]!=y)?Z[V]:m[Y[V]];}}for(V in W){if(W[I](V)){X[W[V]]=!(!X[W[V]]);}}if(!X[H]){X.cache=X.order=X.xhr=z;}X.which=(X.which===k||X.which===t)?X.which:k;return X;}c.$LAB={setGlobalDefaults:function(V){m=j(V);},setOptions:function(V){return l(z,j(V));},script:function(){return l().script.apply(y,arguments);},wait:function(){return l().wait.apply(y,arguments);}};(function(X,V,W){if(n[O]==y&&n[X]){n[O]="loading";  5: (function(c){var h="string",k="head",t="body",U="script",O="readyState",R="preloaddone",D="loadtrigger",K="srcuri",H="preload",u="complete",f="done",b="which",v="preserve",o="onreadystatechange",L="onload",I="hasOwnProperty",E="script/cache",g="[object ",M=g+"Function]",F=g+"Array]",y=null,G=true,z=false,n=c.document,N=c.location,S=c.ActiveXObject,e=c.setTimeout,C=c.clearTimeout,T=function(V){return n.getElementsByTagName(V);},r=Object.prototype.toString,s=function(){},w={},A={},a=/^[^?#]*\//.exec(N.href)[0],x=/^\w+\:\/\/\/?[^\/]+/.exec(a)[0],Q=T(U),p=c.opera&&r.call(c.opera)==g+"Opera]",q=("MozAppearance" in n.documentElement.style),d=(n.createElement(U).async===true),m={cache:!(q||p),order:q||p||d,xhr:G,dupe:G,base:"",which:k};m[v]=z;m[H]=G;w[k]=n.head||T(k);w[t]=T(t);function P(V){return r.call(V)===M;}function B(Y,X){var W=/^\w+\:\/\//,V;if(typeof Y!=h){Y="";}if(typeof X!=h){X="";}V=((/^\/\//.test(Y))?N.protocol:"")+Y;V=(W.test(V)?"":X)+V;return((W.test(V)?"":(V.charAt(0)==="/"?x:a))+V);}function J(V){return(B(V).indexOf(x)===0);}function i(X){var W,V=-1;while(W=Q[++V]){if(typeof W.src==h&&X===B(W.src)&&W.type!==E){return G;}}return z;}function l(ay,am){ay=!(!ay);if(am==y){am=m;}var al=z,af=ay&&am[H],at=af&&am.cache,av=af&&am.order,Z=af&&am.xhr,aw=am[v],Y=am.which,ap=am.base,aa=s,ao=z,ai,ac=G,ad={},au=[],ag=y;af=at||Z||av;function ax(aA,az){if((aA[O]&&aA[O]!==u&&aA[O]!=="loaded")||az[f]){return z;}aA[L]=aA[o]=y;return G;}function X(aB,aA,aC){aC=!(!aC);if(!aC&&!(ax(aB,aA))){return;}aA[f]=G;for(var az in ad){if(ad[I](az)&&!(ad[az][f])){return;}}al=G;aa();}function ah(az){if(P(az[D])){az[D]();az[D]=y;}}function ae(aA,az){if(!ax(aA,az)){return;}az[R]=G;e(function(){w[az[b]].removeChild(aA);ah(az);},0);}function V(aA,az){if(aA[O]===4){aA[o]=s;az[R]=G;e(function(){ah(az);},0);}}function ar(aB,aE,aC,aF,aD,az){var aA=aB[b];e(function(){if("item" in w[aA]){if(!w[aA][0]){e(arguments.callee,25);return;}w[aA]=w[aA][0];}var aG=n.createElement(U);if(typeof aC==h){aG.type=aC;}if(typeof aF==h){aG.charset=aF;}if(P(aD)){aG[L]=aG[o]=function(){aD(aG,aB);};aG.src=aE;if(d){aG.async=z;}}w[aA].insertBefore(aG,(aA===k?w[aA].firstChild:y));if(typeof az==h){aG.text=az;X(aG,aB,G);}},0);}function ak(az,aB,aA,aC){A[az[K]]=G;ar(az,aB,aA,aC,X);}function aq(aA,aC,aB,aD){var az=arguments;if(ac&&aA[R]==y){aA[R]=z;ar(aA,aC,E,aD,ae);}else{if(!ac&&aA[R]!=y&&!aA[R]){aA[D]=function(){aq.apply(y,az);};}else{if(!ac){ak.apply(y,az);}}}}function W(aA,aD,aB,aE){var az=arguments,aC;if(ac&&aA[R]==y){aA[R]=z;aC=aA.xhr=(S?new S("Microsoft.XMLHTTP"):new c.XMLHttpRequest());aC[o]=function(){V(aC,aA);};aC.open("GET",aD);aC.send("");}else{if(!ac&&aA[R]!=y&&!aA[R]){aA[D]=function(){W.apply(y,az);};}else{if(!ac){A[aA[K]]=G;ar(aA,aD,aB,aE,y,aA.xhr.responseText);aA.xhr=y;}}}}function aj(aF){if(typeof aF=="undefined"||!aF){return;}if(aF.allowDup==y){aF.allowDup=am.dupe;}var aE=aF.src,aC=aF.type,aG=aF.charset,aA=aF.allowDup,az=B(aE,ap),aB,aD=J(az);if(typeof aG!=h){aG=y;}aA=!(!aA);if(!aA&&((A[az]!=y)||(ac&&ad[az])||i(az))){if(ad[az]!=y&&ad[az][R]&&!ad[az][f]&&aD){X(y,ad[az],G);}return;}if(ad[az]==y){ad[az]={};}aB=ad[az];if(aB[b]==y){aB[b]=Y;}aB[f]=z;aB[K]=az;ao=G;if(!av&&Z&&aD){W(aB,az,aC,aG);}else{if(!av&&at){aq(aB,az,aC,aG);}else{ak(aB,az,aC,aG);}}}function ab(az){if(ay&&!av){au.push(az);}if(!ay||af){az();}}function an(aB){var aA=[],az;for(az=-1;++az<aB.length;){if(r.call(aB[az])===F){aA=aA.concat(an(aB[az]));}else{aA[aA.length]=aB[az];}}return aA;}ai={script:function(){C(ag);var aB=an(arguments),aA=ai,az;if(aw){for(az=-1;++az<aB.length;){if(P(aB[az])){aB[az]=aB[az]();}if(az===0){ab(function(){aj((typeof aB[0]==h)?{src:aB[0]}:aB[0]);});}else{aA=aA.script(aB[az]);}aA=aA.wait();}}else{for(az=-1;++az<aB.length;){if(P(aB[az])){aB[az]=aB[az]();}}ab(function(){for(az=-1;++az<aB.length;){aj((typeof aB[az]==h)?{src:aB[az]}:aB[az]);}});}ag=e(function(){ac=z;},5);return aA;},wait:function(aC){C(ag);ac=z;if(!P(aC)){aC=s;}var aD=l(ay||ao,am),az=aD.trigger,aB=function(){try{aC();}catch(aE){}az();};delete aD.trigger;var aA=function(){if(ao&&!al){aa=aB;}else{aB();}};if(ay&&!ao){au.push(aA);}else{ab(aA);}return aD;}};if(ay){ai.trigger=function(){var aA,az=-1;while(aA=au[++az]){aA();}au=[];};}else{ai.trigger=s;}return ai;}function j(Z){var V,X={},W={"UseCachePreload":"cache","UseLocalXHR":"xhr","UsePreloading":H,"AlwaysPreserveOrder":v,"AllowDuplicates":"dupe"},Y={"AppendTo":b,"BasePath":"base"};for(V in W){Y[V]=W[V];}X.order=!(!m.order);for(V in Y){if(Y[I](V)&&m[Y[V]]!=y){X[Y[V]]=(Z[V]!=y)?Z[V]:m[Y[V]];}}for(V in W){if(W[I](V)){X[W[V]]=!(!X[W[V]]);}}if(!X[H]){X.cache=X.order=X.xhr=z;}X.which=(X.which===k||X.which===t)?X.which:k;return X;}c.$LAB={setGlobalDefaults:function(V){m=j(V);},setOptions:function(V){return l(z,j(V));},script:function(){return l().script.apply(y,arguments);},wait:function(){return l().wait.apply(y,arguments);}};(function(X,V,W){if(n[O]==y&&n[X]){n[O]="loading";
  6: n[X](V,W=function(){n.removeEventListener(V,W,z);n[O]=u;},z);}})("addEventListener","DOMContentLoaded");})(window);if(typeof PUNBB==="undefined"||!PUNBB){var PUNBB={};}PUNBB.common=(function(){var d=document.documentElement,c=false,a=false;function b(e){return document.getElementById(e);}return{on_domready_init:function(){c=true;PUNBB.common.addClass(d,"js");PUNBB.common.attachWindowOpen();PUNBB.common.autoFocus();PUNBB.common.attachCtrlEnterForm();if(!PUNBB.common.input_support_attr("required")){PUNBB.common.attachValidateForm();}var e=b("brd-messages");if(e){setTimeout(function(){e.style.visibility="hidden";},3500);}},on_load_init:function(){a=true;},addLoadEvent:function(f){if(a===true){f();}else{var e=window.onload;window.onload=(e&&typeof e==="function")?function(){e();f();}:f;}},addDOMReadyEvent:function(g){var e=false;if(c===true){g();return;}if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){g();e=true;},false);window.addEventListener("load",function(){if(!e){g();}},false);}else{if(window.attachEvent){if(window.ActiveXObject&&window===window.top){f();}else{window.attachEvent("onload",g);}}else{PUNBB.common.addLoadEvent(g);}}function f(){try{d.doScroll("left");}catch(h){setTimeout(f,0);return;}g();}},hasClass:function(f,e){return(new RegExp("\\b"+e+"\\b")).test(f.className);},addClass:function(f,e){if(PUNBB.common.hasClass(f,e)){return false;}else{f.className+=" "+e;}return true;},removeClass:function(f,e){if(!PUNBB.common.hasClass(f,e)){return false;}e=new RegExp("\\s*\\b"+e+"\\b","g");f.className=f.className.replace(e,"");return true;},blink:function(g,f){if(typeof f===undefined){f=2;}var e=g.style.visibility;if(f&&e!=="hidden"){g.style.visibility="hidden";setTimeout(function(){g.style.visibility=e;},200);setTimeout(function(){PUNBB.common.blink(g,f-1);},400);}},onScreen:function(l){function i(){var m=-1;if(window.pageYOffset){m=window.pageYOffset;}else{if(d&&d.scrollTop){m=d.scrollTop;}else{if(document.body){m=document.body.scrollTop;}}}return m;}function h(){var m=-1;if(window.innerHeight){m=window.innerHeight;}else{if(d&&d.clientHeight){m=d.clientHeight;}else{if(document.body){m=document.body.clientHeight;}}}return m;}function f(o){var m=o.offsetTop;o=o.offsetParent;return o?m+=f(o):m;}var e=i(),k=e+h(),g=f(l),j=g+l.clientHeight;return g>=e&&j<k;},map:function(h,f){var g,e;for(g=0,e=f.length;g<e;g+=1){f[g]=h(f[g]);}return f;},find:function(h,f){var g,e;for(g=0,e=f.length;g<e;g+=1){if(h(f[g])){return g;}}return -1;},arrayOfMatched:function(j,g){var h,f,e=[];for(h=0,f=g.length;h<f;h+=1){if(j(g[h])){e.push(g[h]);}}return e;},flatten:function(f){var g,e,h=[];for(g=0,e=f.length;g<e;g+=1){if(typeof f[g]==="object"&&f.length){h.concat(PUNBB.common.flatten(f[g]));}else{h.push(f[g]);}}return h;},validateForm:function(g){var f=function(l){return l.name&&l.name.indexOf("req_")===0;};var i=g.elements,e=PUNBB.common.arrayOfMatched(f,i);f=function(l){return(/^\s*$/).test(l.value);};var h=PUNBB.common.find(f,e);if(h>-1){if(PUNBB.common.find(f,e)>-1){var k=b("req-msg");PUNBB.common.removeClass(k,"req-warn");var j=PUNBB.common.addClass(k,"req-error");if(!PUNBB.common.onScreen(k)){k.scrollIntoView();setTimeout(function(){PUNBB.common.blink(k);},500);}else{if(!j){PUNBB.common.blink(k);}}if(PUNBB.common.onScreen(e[h])){e[h].focus();}return false;}}return true;},doQuickjumpRedirect:function(g,f){var e=b("qjump-select")[b("qjump-select").selectedIndex].value;g=g.replace("$1",e);g=g.replace("$2",f[e]);document.location=g;return false;},attachQuickjumpRedirect:function(e,h){var g=b("qjump-select"),f=b("qjump-submit");if(g){g.onchange=function(){return PUNBB.common.doQuickjumpRedirect(e,h);};}if(f){f.onclick=function(){return PUNBB.common.doQuickjumpRedirect(e,h);};PUNBB.common.addClass(f,"visual-hidden");}},initToggleCheckboxes:function(){var j=function(i){return function(){return PUNBB.common.toggleCheckboxes(i);};};var f,e,k=document.getElementsByTagName("span");for(f=0,e=k.length;f<e;f+=1){var g=k[f];if(PUNBB.common.hasClass(g,"select-all")&&g.getAttribute("data-check-form")){var h=b(g.getAttribute("data-check-form"));if(h){g.onclick=j(h);}}}},toggleCheckboxes:function(h){if(!h){return false;}var f,e,j=h.getElementsByTagName("input");for(f=0,e=j.length;f<e;f+=1){var g=j[f];if(g.getAttribute("data-no-select-all")){continue;}if(g.getAttribute("type")=="checkbox"&&g.disabled===false){g.checked=!g.checked;}}return false;},attachCtrlEnterForm:function(){var q=function(f){return function(j){j=j||window.event;var i=j.keyCode||j.which;if(((i==13)||(i==10))&&(j.ctrlKey===true)){return f.submit();}};};var m=function(f){return f.tagName.toUpperCase()=="TEXTAREA";};var l,p,g=document.forms;for(l=0,p=g.length;l<p;l+=1){var o=g[l];if(!PUNBB.common.hasClass(o,"frm-ctrl-submit")){continue;}var k,n,e=o.elements,h=PUNBB.common.arrayOfMatched(m,e);for(k=0,n=h.length;k<n;k+=1){h[k].onkeypress=q(o);}}},attachValidateForm:function(){var n=function(i){return i.name&&i.name.indexOf("req_")===0;};var k=function(i){return i.type&&(i.type=="submit"&&i.name!="cancel"); 
  7: };var l=function(i){return function(){return PUNBB.common.validateForm(i);};};var j,m,f=document.forms;for(j=0,m=f.length;j<m;j+=1){var e=f[j].elements;if(PUNBB.common.find(n,e)>-1){var g=PUNBB.common.arrayOfMatched(k,e),h=f[j];g=PUNBB.common.map(function(i){i.onclick=l(h);},g);}}},attachWindowOpen:function(){if(!document.getElementsByTagName){return;}var g=function(){return function(){window.open(this.href);return false;};};var f,e=document.getElementsByTagName("a");for(f=0;f<e.length;f+=1){if(PUNBB.common.hasClass(e[f],"exthelp")){e[f].onclick=g();}}},autoFocus:function(){var f=function(h){return h.offsetWidth>0&&(h.tagName.toUpperCase()=="TEXTAREA"||(h.tagName.toUpperCase()=="INPUT"&&(h.type=="text")||(h.type=="password")||(h.type=="email")||(h.type=="url")||(h.type=="number")));};var e=b("afocus");if(!e||window.location.hash.replace(/#/g,"")){return;}e=e.all||e.getElementsByTagName("*");var g=PUNBB.common.find(f,e);if(g>-1){e[g].focus();}},input_support_attr:function(e){var f=document.createElement("input");if(!e){return false;}return !!(e in f);}};}());PUNBB.common.addDOMReadyEvent(PUNBB.common.on_domready_init);PUNBB.common.addLoadEvent(PUNBB.common.on_load_init); 
  8:   6: 
   7: n[X](V,W=function(){n.removeEventListener(V,W,z);n[O]=u;},z);}})("addEventListener","DOMContentLoaded");})(window);if(typeof PUNBB==="undefined"||!PUNBB){var PUNBB={};}PUNBB.common=(function(){var e=document.documentElement,d=false,a=false;function b(f){return document.getElementById(f);}function c(f,h){if(f&&h){if(f.value.length===0&&h.value.length===0){return;}if(f.value===h.value){return;}var g=parseInt(h.getAttribute("maxlength"),10)||0;if(g>0){h.value=f.value.replace(/@.*/,"").replace(/\s/g,"").substr(0,g);}else{h.value=f.value.replace(/@.*/,"").replace(/\s/g,"");}}}return{on_domready_init:function(){d=true;PUNBB.common.addClass(e,"js");PUNBB.common.attachWindowOpen();PUNBB.common.autoFocus();PUNBB.common.attachCtrlEnterForm();PUNBB.common.attachUsernameFromEmail();PUNBB.common.attachEmailFieldFixer();if(!PUNBB.common.input_support_attr("required")){PUNBB.common.attachValidateForm();}var f=b("brd-messages");if(f){setTimeout(function(){f.style.visibility="hidden";},3500);}},on_load_init:function(){a=true;},addLoadEvent:function(g){if(a===true){g();}else{var f=window.onload;window.onload=(f&&typeof f==="function")?function(){f();g();}:g;}},addDOMReadyEvent:function(h){var f=false;if(d===true){h();return;}if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){h();f=true;},false);window.addEventListener("load",function(){if(!f){h();}},false);}else{if(window.attachEvent){if(window.ActiveXObject&&window===window.top){g();}else{window.attachEvent("onload",h);}}else{PUNBB.common.addLoadEvent(h);}}function g(){try{e.doScroll("left");}catch(i){setTimeout(g,0);return;}h();}},hasClass:function(g,f){return(new RegExp("\\b"+f+"\\b")).test(g.className);},addClass:function(g,f){if(PUNBB.common.hasClass(g,f)){return false;}else{g.className+=" "+f;}return true;},removeClass:function(g,f){if(!PUNBB.common.hasClass(g,f)){return false;}f=new RegExp("\\s*\\b"+f+"\\b","g");g.className=g.className.replace(f,"");return true;},blink:function(h,g){if(typeof g===undefined){g=2;}var f=h.style.visibility;if(g&&f!=="hidden"){h.style.visibility="hidden";setTimeout(function(){h.style.visibility=f;},200);setTimeout(function(){PUNBB.common.blink(h,g-1);},400);}},onScreen:function(m){function j(){var n=-1;if(window.pageYOffset){n=window.pageYOffset;}else{if(e&&e.scrollTop){n=e.scrollTop;}else{if(document.body){n=document.body.scrollTop;}}}return n;}function i(){var n=-1;if(window.innerHeight){n=window.innerHeight;}else{if(e&&e.clientHeight){n=e.clientHeight;}else{if(document.body){n=document.body.clientHeight;}}}return n;}function g(p){var o=p.offsetTop;p=p.offsetParent;return p?o+=g(p):o;}var f=j(),l=f+i(),h=g(m),k=h+m.clientHeight;return h>=f&&k<l;},map:function(j,g){var h,f;for(h=0,f=g.length;h<f;h+=1){g[h]=j(g[h]);}return g;},find:function(j,g){var h,f;for(h=0,f=g.length;h<f;h+=1){if(j(g[h])){return h;}}return -1;},arrayOfMatched:function(k,h){var j,g,f=[];for(j=0,g=h.length;j<g;j+=1){if(k(h[j])){f.push(h[j]);}}return f;},flatten:function(g){var h,f,j=[];for(h=0,f=g.length;h<f;h+=1){if(typeof g[h]==="object"&&g.length){j.concat(PUNBB.common.flatten(g[h]));}else{j.push(g[h]);}}return j;},validateForm:function(h){var g=function(m){return m.name&&m.name.indexOf("req_")===0;};var j=h.elements,f=PUNBB.common.arrayOfMatched(g,j);g=function(m){return(/^\s*$/).test(m.value);};var i=PUNBB.common.find(g,f);if(i>-1){if(PUNBB.common.find(g,f)>-1){var l=b("req-msg");PUNBB.common.removeClass(l,"req-warn");var k=PUNBB.common.addClass(l,"req-error");if(!PUNBB.common.onScreen(l)){l.scrollIntoView();setTimeout(function(){PUNBB.common.blink(l);},500);}else{if(!k){PUNBB.common.blink(l);}}if(PUNBB.common.onScreen(f[i])){f[i].focus();}return false;}}return true;},doQuickjumpRedirect:function(h,g){var f=b("qjump-select")[b("qjump-select").selectedIndex].value;h=h.replace("$1",f);h=h.replace("$2",g[f]);document.location=h;return false;},attachQuickjumpRedirect:function(f,i){var h=b("qjump-select"),g=b("qjump-submit");if(h){h.onchange=function(){return PUNBB.common.doQuickjumpRedirect(f,i);};}if(g){g.onclick=function(){return PUNBB.common.doQuickjumpRedirect(f,i);};PUNBB.common.addClass(g,"visual-hidden");}},initToggleCheckboxes:function(){var k=function(i){return function(){return PUNBB.common.toggleCheckboxes(i);};};var g,f,l=document.getElementsByTagName("span");for(g=0,f=l.length;g<f;g+=1){var h=l[g];if(PUNBB.common.hasClass(h,"select-all")&&h.getAttribute("data-check-form")){var j=b(h.getAttribute("data-check-form"));if(j){h.onclick=k(j);}}}},toggleCheckboxes:function(j){if(!j){return false;}var g,f,k=j.getElementsByTagName("input");for(g=0,f=k.length;g<f;g+=1){var h=k[g];if(h.getAttribute("data-no-select-all")){continue;}if(h.getAttribute("type")=="checkbox"&&h.disabled===false){h.checked=!h.checked;}}return false;},attachCtrlEnterForm:function(){var r=function(f){return function(j){j=j||window.event;var i=j.keyCode||j.which;if(((i==13)||(i==10))&&(j.ctrlKey===true)){return f.submit();}};};var n=function(f){return f.tagName.toUpperCase()=="TEXTAREA";
   8: };var m,q,h=document.forms;for(m=0,q=h.length;m<q;m+=1){var p=h[m];if(!PUNBB.common.hasClass(p,"frm-ctrl-submit")){continue;}var l,o,g=p.elements,k=PUNBB.common.arrayOfMatched(n,g);for(l=0,o=k.length;l<o;l+=1){k[l].onkeypress=r(p);}}},attachValidateForm:function(){var o=function(i){return i.name&&i.name.indexOf("req_")===0;};var l=function(i){return i.type&&(i.type=="submit"&&i.name!="cancel");};var m=function(i){return function(){return PUNBB.common.validateForm(i);};};var k,n,g=document.forms;for(k=0,n=g.length;k<n;k+=1){var f=g[k].elements;if(PUNBB.common.find(o,f)>-1){var h=PUNBB.common.arrayOfMatched(l,f),j=g[k];h=PUNBB.common.map(function(i){i.onclick=m(j);},h);}}},attachWindowOpen:function(){if(!document.getElementsByTagName){return;}var h=function(){return function(){window.open(this.href);return false;};};var g,f=document.getElementsByTagName("a");for(g=0;g<f.length;g+=1){if(PUNBB.common.hasClass(f[g],"exthelp")){f[g].onclick=h();}}},autoFocus:function(){var g=function(i){return i.offsetWidth>0&&(i.tagName.toUpperCase()=="TEXTAREA"||(i.tagName.toUpperCase()=="INPUT"&&(i.type=="text")||(i.type=="password")||(i.type=="email")||(i.type=="url")||(i.type=="number")));};var f=b("afocus");if(!f||window.location.hash.replace(/#/g,"")){return;}f=f.all||f.getElementsByTagName("*");var h=PUNBB.common.find(g,f);if(h>-1){f[h].focus();}},input_support_attr:function(f){var g=document.createElement("input");if(!f){return false;}return !!(f in g);},attachUsernameFromEmail:function(){var m=function(f){return(f.tagName.toUpperCase()=="INPUT"&&f.type=="email"&&f.getAttribute("data-suggest-role")==="email");};var p=function(f){return(f.tagName.toUpperCase()=="INPUT"&&f.type=="text"&&f.getAttribute("data-suggest-role")==="username");};var j,n,g=document.forms;for(j=0,n=g.length;j<n;j+=1){var l=g[j],k=-1,h=-1;if(!PUNBB.common.hasClass(l,"frm-suggest-username")){continue;}k=PUNBB.common.find(m,l.elements);h=PUNBB.common.find(p,l.elements);if(k>0&&h>0){var o=function(f){return function(i){c(this,f);};};l.elements[k].onkeyup=o(l.elements[h]);}}},attachEmailFieldFixer:function(){var n=function(i){return(i.tagName.toUpperCase()=="INPUT"&&i.type=="email");};var p=function(){var i=this;if(i&&i.value.length>0){i.value=i.value.replace(/\s/g,"");}};var l,o,g=document.forms;for(l=0,o=g.length;l<o;l+=1){var k,m,f=g[l].elements,h=PUNBB.common.arrayOfMatched(n,f);for(k=0,m=h.length;k<m;k+=1){h[k].onblur=p;}}}};}());PUNBB.common.addDOMReadyEvent(PUNBB.common.on_domready_init);PUNBB.common.addLoadEvent(PUNBB.common.on_load_init);
  9:   9: 


punbb-1.4.1/include/js/min/punbb.install.min.js punbb-1.4.2/include/js/min/punbb.install.min.js
  1: if(typeof PUNBB==="undefined"||!PUNBB){var PUNBB={};}PUNBB.install=(function(){function a(b){return document.getElementById(b);}return{init:function(){PUNBB.install.selectDB_attach_event();},selectDB_update:function(){var b=a("req_db_type")[a("req_db_type").selectedIndex].value;if(b==="sqlite"||b==="sqlite3"){PUNBB.common.addClass(a("db_username_block"),"hidden");PUNBB.common.addClass(a("db_password_block"),"hidden");}else{PUNBB.common.removeClass(a("db_username_block"),"hidden");PUNBB.common.removeClass(a("db_password_block"),"hidden");}return false;},selectDB_attach_event:function(){var b=a("req_db_type");if(b){b.onchange=function(){return PUNBB.install.selectDB_update();};PUNBB.install.selectDB_update();}}};}());PUNBB.common.addDOMReadyEvent(PUNBB.install.init); 
  2:   1: 
   2: if(typeof PUNBB==="undefined"||!PUNBB){var PUNBB={};}PUNBB.install=(function(){function a(b){return document.getElementById(b);}return{init:function(){PUNBB.install.selectDB_attach_event();},selectDB_update:function(){var b=a("req_db_type")[a("req_db_type").selectedIndex].value;if(b==="sqlite"||b==="sqlite3"){PUNBB.common.addClass(a("db_host_block"),"hidden");PUNBB.common.addClass(a("db_username_block"),"hidden");PUNBB.common.addClass(a("db_password_block"),"hidden");if(a("db_host").value.length<0){a("db_host").value="localhost";}}else{PUNBB.common.removeClass(a("db_host_block"),"hidden");PUNBB.common.removeClass(a("db_username_block"),"hidden");PUNBB.common.removeClass(a("db_password_block"),"hidden");}return false;},selectDB_attach_event:function(){var b=a("req_db_type");if(b){b.onchange=function(){return PUNBB.install.selectDB_update();};PUNBB.install.selectDB_update();}}};}());PUNBB.common.addDOMReadyEvent(PUNBB.install.init);
  3:   3: 


punbb-1.4.1/include/js/min/punbb.timezone.min.js punbb-1.4.2/include/js/min/punbb.timezone.min.js
  1: if(typeof PUNBB==="undefined"||!PUNBB){var PUNBB={};}PUNBB.timezone=(function(){var b="SOUTH",a="NORTH",c="N/A",h={},e;e=function(l,k,j){this.utc_offset=l;this.olson_tz=k;this.uses_dst=j;};h.timezones={"-720,0":new e("-12:00","Etc/GMT+12",false),"-660,0":new e("-11:00","Pacific/Pago_Pago",false),"-600,1":new e("-11:00","America/Adak",true),"-660,1,s":new e("-11:00","Pacific/Apia",true),"-600,0":new e("-10:00","Pacific/Honolulu",false),"-570,0":new e("-09:30","Pacific/Marquesas",false),"-540,0":new e("-09:00","Pacific/Gambier",false),"-540,1":new e("-09:00","America/Anchorage",true),"-480,1":new e("-08:00","America/Los_Angeles",true),"-480,0":new e("-08:00","Pacific/Pitcairn",false),"-420,0":new e("-07:00","America/Phoenix",false),"-420,1":new e("-07:00","America/Denver",true),"-360,0":new e("-06:00","America/Guatemala",false),"-360,1":new e("-06:00","America/Chicago",true),"-360,1,s":new e("-06:00","Pacific/Easter",true),"-300,0":new e("-05:00","America/Bogota",false),"-300,1":new e("-05:00","America/New_York",true),"-270,0":new e("-04:30","America/Caracas",false),"-240,1":new e("-04:00","America/Halifax",true),"-240,0":new e("-04:00","America/Santo_Domingo",false),"-240,1,s":new e("-04:00","America/Asuncion",true),"-210,1":new e("-03:30","America/St_Johns",true),"-180,1":new e("-03:00","America/Godthab",true),"-180,0":new e("-03:00","America/Argentina/Buenos_Aires",false),"-180,1,s":new e("-03:00","America/Montevideo",true),"-120,0":new e("-02:00","America/Noronha",false),"-120,1":new e("-02:00","Etc/GMT+2",true),"-60,1":new e("-01:00","Atlantic/Azores",true),"-60,0":new e("-01:00","Atlantic/Cape_Verde",false),"0,0":new e("00:00","Etc/UTC",false),"0,1":new e("00:00","Europe/London",true),"60,1":new e("+01:00","Europe/Berlin",true),"60,0":new e("+01:00","Africa/Lagos",false),"60,1,s":new e("+01:00","Africa/Windhoek",true),"120,1":new e("+02:00","Asia/Beirut",true),"120,0":new e("+02:00","Africa/Johannesburg",false),"180,1":new e("+03:00","Europe/Moscow",true),"180,0":new e("+03:00","Asia/Baghdad",false),"210,1":new e("+03:30","Asia/Tehran",true),"240,0":new e("+04:00","Asia/Dubai",false),"240,1":new e("+04:00","Asia/Yerevan",true),"270,0":new e("+04:30","Asia/Kabul",false),"300,1":new e("+05:00","Asia/Yekaterinburg",true),"300,0":new e("+05:00","Asia/Karachi",false),"330,0":new e("+05:30","Asia/Kolkata",false),"345,0":new e("+05:45","Asia/Kathmandu",false),"360,0":new e("+06:00","Asia/Dhaka",false),"360,1":new e("+06:00","Asia/Omsk",true),"390,0":new e("+06:30","Asia/Rangoon",false),"420,1":new e("+07:00","Asia/Krasnoyarsk",true),"420,0":new e("+07:00","Asia/Jakarta",false),"480,0":new e("+08:00","Asia/Shanghai",false),"480,1":new e("+08:00","Asia/Irkutsk",true),"525,0":new e("+08:45","Australia/Eucla",true),"525,1,s":new e("+08:45","Australia/Eucla",true),"540,1":new e("+09:00","Asia/Yakutsk",true),"540,0":new e("+09:00","Asia/Tokyo",false),"570,0":new e("+09:30","Australia/Darwin",false),"570,1,s":new e("+09:30","Australia/Adelaide",true),"600,0":new e("+10:00","Australia/Brisbane",false),"600,1":new e("+10:00","Asia/Vladivostok",true),"600,1,s":new e("+10:00","Australia/Sydney",true),"630,1,s":new e("+10:30","Australia/Lord_Howe",true),"660,1":new e("+11:00","Asia/Kamchatka",true),"660,0":new e("+11:00","Pacific/Noumea",false),"690,0":new e("+11:30","Pacific/Norfolk",false),"720,1,s":new e("+12:00","Pacific/Auckland",true),"720,0":new e("+12:00","Pacific/Tarawa",false),"765,1,s":new e("+12:45","Pacific/Chatham",true),"780,0":new e("+13:00","Pacific/Tongatapu",false),"840,0":new e("+14:00","Pacific/Kiritimati",false)};function d(j){return -j.getTimezoneOffset();}function f(){return d(new Date(2011,0,1,0,0,0,0));}function i(){return d(new Date(2011,5,1,0,0,0,0));}function g(){var j=f(),k=i(),l=j-k;if(l<0){return{"utc_offset":j,"dst":1,"hemisphere":a};}else{if(l>0){return{"utc_offset":k,"dst":1,"hemisphere":b};}}return{"utc_offset":j,"dst":0,"hemisphere":c};}return{determine:function(){var l=g(),k="",j;if(l.hemisphere===b){k=",s";}j=l.utc_offset+","+l.dst.toString()+k;return{"timezone":h.timezones[j],"key":j};},detect_on_register_form:function(){PUNBB.common.addDOMReadyEvent(function(){var l=PUNBB.timezone.determine().timezone,k=document.getElementById("register_timezone"),j=document.getElementById("register_dst");if(k&&j){k.value=l.utc_offset;j.value=l.uses_dst?"1":"0";}});}};}()); 
  2:   1: 
   2: if(typeof PUNBB==="undefined"||!PUNBB){var PUNBB={};}PUNBB.timezone=(function(){var b="SOUTH",a="NORTH",c="N/A",h={},e;e=function(l,k,j){this.utc_offset=l;this.olson_tz=k;this.uses_dst=j;};h.timezones={"-720,0":new e("-12:00","Etc/GMT+12",false),"-660,0":new e("-11:00","Pacific/Pago_Pago",false),"-600,1":new e("-11:00","America/Adak",true),"-600,0":new e("-10:00","Pacific/Honolulu",false),"-570,0":new e("-09:30","Pacific/Marquesas",false),"-540,0":new e("-09:00","Pacific/Gambier",false),"-540,1":new e("-09:00","America/Anchorage",true),"-480,1":new e("-08:00","America/Los_Angeles",true),"-480,0":new e("-08:00","Pacific/Pitcairn",false),"-420,0":new e("-07:00","America/Phoenix",false),"-420,1":new e("-07:00","America/Denver",true),"-360,0":new e("-06:00","America/Guatemala",false),"-360,1":new e("-06:00","America/Chicago",true),"-360,1,s":new e("-06:00","Pacific/Easter",true),"-300,0":new e("-05:00","America/Bogota",false),"-300,1":new e("-05:00","America/New_York",true),"-270,0":new e("-04:30","America/Caracas",false),"-240,1":new e("-04:00","America/Halifax",true),"-240,0":new e("-04:00","America/Santo_Domingo",false),"-240,1,s":new e("-04:00","America/Asuncion",true),"-210,1":new e("-03:30","America/St_Johns",true),"-180,1":new e("-03:00","America/Godthab",true),"-180,0":new e("-03:00","America/Argentina/Buenos_Aires",false),"-180,1,s":new e("-03:00","America/Montevideo",true),"-120,0":new e("-02:00","America/Noronha",false),"-120,1":new e("-02:00","Etc/GMT+2",true),"-60,1":new e("-01:00","Atlantic/Azores",true),"-60,0":new e("-01:00","Atlantic/Cape_Verde",false),"0,0":new e("00:00","Etc/UTC",false),"0,1":new e("00:00","Europe/London",true),"60,1":new e("+01:00","Europe/Berlin",true),"60,0":new e("+01:00","Africa/Lagos",false),"60,1,s":new e("+01:00","Africa/Windhoek",true),"120,1":new e("+02:00","Asia/Beirut",true),"120,0":new e("+02:00","Africa/Johannesburg",false),"180,1":new e("+03:00","Europe/Moscow",true),"180,0":new e("+03:00","Asia/Baghdad",false),"210,1":new e("+03:30","Asia/Tehran",true),"240,0":new e("+04:00","Asia/Dubai",false),"240,1":new e("+04:00","Asia/Yerevan",true),"270,0":new e("+04:30","Asia/Kabul",false),"300,1":new e("+05:00","Asia/Yekaterinburg",true),"300,0":new e("+05:00","Asia/Karachi",false),"330,0":new e("+05:30","Asia/Kolkata",false),"345,0":new e("+05:45","Asia/Kathmandu",false),"360,0":new e("+06:00","Asia/Dhaka",false),"360,1":new e("+06:00","Asia/Omsk",true),"390,0":new e("+06:30","Asia/Rangoon",false),"420,1":new e("+07:00","Asia/Krasnoyarsk",true),"420,0":new e("+07:00","Asia/Jakarta",false),"480,0":new e("+08:00","Asia/Shanghai",false),"480,1":new e("+08:00","Asia/Irkutsk",true),"525,0":new e("+08:45","Australia/Eucla",true),"525,1,s":new e("+08:45","Australia/Eucla",true),"540,1":new e("+09:00","Asia/Yakutsk",true),"540,0":new e("+09:00","Asia/Tokyo",false),"570,0":new e("+09:30","Australia/Darwin",false),"570,1,s":new e("+09:30","Australia/Adelaide",true),"600,0":new e("+10:00","Australia/Brisbane",false),"600,1":new e("+10:00","Asia/Vladivostok",true),"600,1,s":new e("+10:00","Australia/Sydney",true),"630,1,s":new e("+10:30","Australia/Lord_Howe",true),"660,1":new e("+11:00","Asia/Kamchatka",true),"660,0":new e("+11:00","Pacific/Noumea",false),"690,0":new e("+11:30","Pacific/Norfolk",false),"720,1,s":new e("+12:00","Pacific/Auckland",true),"720,0":new e("+12:00","Pacific/Tarawa",false),"765,1,s":new e("+12:45","Pacific/Chatham",true),"780,0":new e("+13:00","Pacific/Tongatapu",false),"780,1,s":new e("+13:00","Pacific/Apia",true),"840,0":new e("+14:00","Pacific/Kiritimati",false)};function d(j){return -j.getTimezoneOffset();}function f(){var j=new Date();return d(new Date(j.getFullYear(),0,1,0,0,0,0));}function i(){var j=new Date();return d(new Date(j.getFullYear(),5,1,0,0,0,0));}function g(){var j=f(),k=i(),l=j-k;if(l<0){return{"utc_offset":j,"dst":1,"hemisphere":a};}else{if(l>0){return{"utc_offset":k,"dst":1,"hemisphere":b};}}return{"utc_offset":j,"dst":0,"hemisphere":c};}return{determine:function(){var l=g(),k="",j;if(l.hemisphere===b){k=",s";}j=l.utc_offset+","+l.dst.toString()+k;return{"timezone":h.timezones[j],"key":j};},detect_on_register_form:function(){PUNBB.common.addDOMReadyEvent(function(){var l=PUNBB.timezone.determine().timezone,k=document.getElementById("register_timezone"),j=document.getElementById("register_dst");if(k&&j){k.value=l.utc_offset;j.value=l.uses_dst?"1":"0";}});}};}());
  3:   3: 


punbb-1.4.1/include/js/punbb.common.js punbb-1.4.2/include/js/punbb.common.js


punbb-1.4.1/include/js/punbb.install.js punbb-1.4.2/include/js/punbb.install.js


punbb-1.4.1/include/js/punbb.timezone.js punbb-1.4.2/include/js/punbb.timezone.js


punbb-1.4.1/include/loader.php punbb-1.4.2/include/loader.php
  2: /**  2: /**
  3:  * Loader class for inject CSS and JS files.  3:  * Loader class for inject CSS and JS files.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on Drupal code
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 23:     private $libs; 23:     private $libs;
 24:  24: 
 25:     // Class instance 25:     // Class instance
 26:     private static $instance; 26:     private static $instance;
 27:  27: 
 28:  28: 
 29:     // Start of life 29:     // Start of life
 41:  41: 
 42:  42: 
 43:     // Singleton 43:     // Singleton
 44:     public static function singleton() { 44:     public static function singleton() {
 45:         if (!isset(self::$instance)) { 45:         if (!isset(self::$instance)) {
 46:             $c = __CLASS__; 46:             $c = __CLASS__;
 47:             self::$instance = new $c; 47:             self::$instance = new $c;
 48:         } 48:         }
 49:  
 50:         return self::$instance; 
 51:     } 
 52:  49: 
  50:         return self::$instance;
  51:     }
 53:  52: 
 54:     // Clone forbiden 53: 
 55:     public function __clone() { 54:     // Clone forbiden
 56:         trigger_error('Clone is forbiden.', E_USER_ERROR); 55:     public function __clone() {
 57:     } 56:         trigger_error('Clone is forbiden.', E_USER_ERROR);
  57:     }
 58:  58: 
 59:  59: 
 60:     // Add JS url to load 60:     // Add JS url to load
471:         }471:         }
472:         elseif ($a['weight'] > $b['weight'])472:         elseif ($a['weight'] > $b['weight'])
473:         {473:         {
474:             return 1;474:             return 1;
475:         }475:         }
476:         else476:         else
477:         {477:         {
517:         }517:         }
518:         else518:         else
519:         {519:         {
520:             // "downlevel-revealed".520:             // "downlevel-revealed".
521:             $data = "\n<!--[if $expression]><!-->".$data."<!--<![endif]-->";521:             $data = "\n<!--[if $expression]><!-->".$data."<!--<![endif]-->";
522:         }522:         }
523: 523: 
524:         return $data;524:         return $data;


punbb-1.4.1/include/parser.php punbb-1.4.2/include/parser.php
  2: /**  2: /**
  3:  * Loads various functions used to parse posts.  3:  * Loads various functions used to parse posts.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 62:  62: 
 63:         if ($forum_config['o_make_links'] == '1') 63:         if ($forum_config['o_make_links'] == '1')
 64:         { 64:         {
 65:             // Check Unicode support 65:             $text = do_clickable($text, defined('FORUM_SUPPORT_PCRE_UNICODE'));
 66:             $unicode = defined('FORUM_SUPPORT_PCRE_UNICODE'); 
 67:             $text = do_clickable($text, $unicode); 
 68:         } 66:         }
 69:  67: 
 70:         // If we split up the message before we have to concatenate it together again (code tags) 68:         // If we split up the message before we have to concatenate it together again (code tags)
138:     $tags_quotes = array('url', 'email', 'img');136:     $tags_quotes = array('url', 'email', 'img');
139:     // Tags we limit bbcode in137:     // Tags we limit bbcode in
140:     $tags_limit_bbcode = array(138:     $tags_limit_bbcode = array(
141:         '*'     => array('b', 'i', 'u', 'color', 'colour', 'url', 'email', 'list', 'img'),139:         '*'        => array('b', 'i', 'u', 'color', 'colour', 'url', 'email', 'list', 'img'),
142:         'list'     => array('*'),140:         'list'    => array('*'),
143:         'url'     => array('b', 'i', 'u', 'color', 'colour', 'img'),141:         'url'    => array('b', 'i', 'u', 'color', 'colour', 'img'),
144:         'email' => array('b', 'i', 'u', 'color', 'colour', 'img'),142:         'email' => array('b', 'i', 'u', 'color', 'colour', 'img'),
145:         'img'     => array()143:         'img'    => array()
146:     );144:     );
147:     // Tags we can automatically fix bad nesting145:     // Tags we can automatically fix bad nesting
148:     $tags_fix = array('quote', 'b', 'i', 'u', 'color', 'colour', 'url', 'email', 'h');146:     $tags_fix = array('quote', 'b', 'i', 'u', 'color', 'colour', 'url', 'email', 'h');
597:         $full_url = 'http://'.$full_url;595:         $full_url = 'http://'.$full_url;
598:     else if (strpos($url, 'ftp.') === 0)    // Else if it starts with ftp, we add ftp://596:     else if (strpos($url, 'ftp.') === 0)    // Else if it starts with ftp, we add ftp://
599:         $full_url = 'ftp://'.$full_url;597:         $full_url = 'ftp://'.$full_url;
600:     else if (!preg_match('#^([a-z0-9]{3,6})://#', $url))     // Else if it doesn't start with abcdef://, we add http://598:     else if (!preg_match('#^([a-z0-9]{3,6})://#', $url))    // Else if it doesn't start with abcdef://, we add http://
601:         $full_url = 'http://'.$full_url;599:         $full_url = 'http://'.$full_url;
602: 600: 
603:     if (defined('FORUM_SUPPORT_PCRE_UNICODE') && defined('FORUM_ENABLE_IDNA'))601:     if (defined('FORUM_SUPPORT_PCRE_UNICODE') && defined('FORUM_ENABLE_IDNA'))
604:     {602:     {
605:         $idn = new idna_convert();603:         static $idn;
606:         $idn->set_parameter('encoding', 'utf8');604:         static $cached_encoded_urls = null;
607:         $idn->set_parameter('strict', false); 
608: 605: 
609:         $full_url = $idn->encode($full_url);606:         if (is_null($cached_encoded_urls))
 607:             $cached_encoded_urls = array();
 608: 
 609:         // Check in cache
 610:         $cache_key = md5($full_url);
 611:         if (isset($cached_encoded_urls[$cache_key]))
 612:             $full_url = $cached_encoded_urls[$cache_key];
 613:         else
 614:         {
 615:             if (!isset($idn))
 616:             {
 617:                 $idn = new idna_convert();
 618:                 $idn->set_parameter('encoding', 'utf8');
 619:                 $idn->set_parameter('strict', false);
 620:             }
 621: 
 622:             $full_url = $idn->encode($full_url);
 623:             $cached_encoded_urls[$cache_key] = $full_url;
 624:         }
610:     }625:     }
611: 626: 
612:     // Ok, not very pretty :-)627:     // Ok, not very pretty :-)


punbb-1.4.1/include/search_functions.php punbb-1.4.2/include/search_functions.php
  2: /**  2: /**
  3:  * Loads various functions that are used for searching the forum.  3:  * Loads various functions that are used for searching the forum.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 78:         // Remove any words that are not indexed 78:         // Remove any words that are not indexed
 79:         $keywords_array = array_filter($keywords_array, 'validate_search_word'); 79:         $keywords_array = array_filter($keywords_array, 'validate_search_word');
 80:  80: 
 81:           if (empty($keywords_array)) 81:         if (empty($keywords_array))
 82:             no_search_results(); 82:             no_search_results();
 83:  83: 
 84:         $word_count = 0; 84:         $word_count = 0;
872:         case 'show_user_topics':872:         case 'show_user_topics':
873:             $forum_page['crumbs'][] = sprintf($lang_search['Topics by'], $search_set[0]['poster']);873:             $forum_page['crumbs'][] = sprintf($lang_search['Topics by'], $search_set[0]['poster']);
874:             $forum_page['items_info'] = generate_items_info($lang_search['Topics found'], ($forum_page['start_from'] + 1), $num_hits);874:             $forum_page['items_info'] = generate_items_info($lang_search['Topics found'], ($forum_page['start_from'] + 1), $num_hits);
875:             $forum_page['main_head_options']['user_posts'] =  '<span'.(empty($forum_page['main_head_options']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search_user_posts'], $search_id).'">'.sprintf($lang_search['Posts by'], forum_htmlencode($search_set[0]['poster'])).'</a></span>';875:             $forum_page['main_head_options']['user_posts'] = '<span'.(empty($forum_page['main_head_options']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search_user_posts'], $search_id).'">'.sprintf($lang_search['Posts by'], forum_htmlencode($search_set[0]['poster'])).'</a></span>';
876:             $forum_page['main_head_options']['defined_search'] = '<span'.(empty($forum_page['main_head_options']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search']).'">'.$lang_search['User defined search'].'</a></span>';876:             $forum_page['main_head_options']['defined_search'] = '<span'.(empty($forum_page['main_head_options']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search']).'">'.$lang_search['User defined search'].'</a></span>';
877:             break;877:             break;
878: 878: 


punbb-1.4.1/include/search_idx.php punbb-1.4.2/include/search_idx.php
  2: /**  2: /**
  3:  * Load various functions used in indexing posts and topics for searching.  3:  * Load various functions used in indexing posts and topics for searching.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */


punbb-1.4.1/include/template/admin.tpl punbb-1.4.2/include/template/admin.tpl
  4: <!--[if IE 8 ]>    <html class="oldie ie8" <!-- forum_local -->> <![endif]-->  4: <!--[if IE 8 ]>    <html class="oldie ie8" <!-- forum_local -->> <![endif]-->
  5: <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->  5: <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->
  6: <head>  6: <head>
  7: <meta charset="utf-8"/>  7: <meta charset="utf-8" />
  8: <!-- forum_head -->  8: <!-- forum_head -->
  9: </head>  9: </head>
 10: <body> 10: <body>


punbb-1.4.1/include/template/help.tpl punbb-1.4.2/include/template/help.tpl
  5: <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->  5: <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->
  6: <head>  6: <head>
  7: <head>  7: <head>
  8: <meta charset="utf-8"/>  8: <meta charset="utf-8" />
  9: <!-- forum_head -->  9: <!-- forum_head -->
 10: </head> 10: </head>
 11: <body> 11: <body>


punbb-1.4.1/include/template/maintenance.tpl punbb-1.4.2/include/template/maintenance.tpl
  4: <!--[if IE 8 ]>    <html class="oldie ie8" <!-- forum_local -->> <![endif]-->  4: <!--[if IE 8 ]>    <html class="oldie ie8" <!-- forum_local -->> <![endif]-->
  5: <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->  5: <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->
  6: <head>  6: <head>
  7: <meta charset="utf-8"/>  7: <meta charset="utf-8" />
  8: <!-- forum_head -->  8: <!-- forum_head -->
  9: </head>  9: </head>
 10: <body> 10: <body>


punbb-1.4.1/include/template/main.tpl punbb-1.4.2/include/template/main.tpl
  4: <!--[if IE 8 ]>    <html class="oldie ie8" <!-- forum_local -->> <![endif]-->  4: <!--[if IE 8 ]>    <html class="oldie ie8" <!-- forum_local -->> <![endif]-->
  5: <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->  5: <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->
  6: <head>  6: <head>
  7: <meta charset="utf-8"/>  7: <meta charset="utf-8" />
  8: <!-- forum_head -->  8: <!-- forum_head -->
  9: </head>  9: </head>
 10: <body> 10: <body>


punbb-1.4.1/include/template/redirect.tpl punbb-1.4.2/include/template/redirect.tpl
  4: <!--[if IE 8 ]>    <html class="oldie ie8" <!-- forum_local -->> <![endif]-->  4: <!--[if IE 8 ]>    <html class="oldie ie8" <!-- forum_local -->> <![endif]-->
  5: <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->  5: <!--[if gt IE 8]><!--> <html <!-- forum_local -->> <!--<![endif]-->
  6: <head>  6: <head>
  7: <meta charset="utf-8"/>  7: <meta charset="utf-8" />
  8: <!-- forum_head -->  8: <!-- forum_head -->
  9: </head>  9: </head>
 10: <body> 10: <body>


punbb-1.4.1/include/url/Default/forum_urls.php punbb-1.4.2/include/url/Default/forum_urls.php
  2: /**  2: /**
  3:  * Regular URL scheme.  3:  * Regular URL scheme.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */


punbb-1.4.1/include/url/Default/reserved_strings.php punbb-1.4.2/include/url/Default/reserved_strings.php
  3:  * Loads the reserved strings used to transform problematic strings in URLs.  3:  * Loads the reserved strings used to transform problematic strings in URLs.
  4:  * These are matched against the whole string after all other transformations.  4:  * These are matched against the whole string after all other transformations.
  5:  *  5:  *
  6:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  6:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  8:  * @package PunBB  8:  * @package PunBB
  9:  */  9:  */


punbb-1.4.1/include/url/Default/rewrite_rules.php punbb-1.4.2/include/url/Default/rewrite_rules.php
  2: /**  2: /**
  3:  * Loads the regular expressions used to match SEF URL requests to their proper URLs.  3:  * Loads the regular expressions used to match SEF URL requests to their proper URLs.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */


punbb-1.4.1/include/url/File_based/forum_urls.php punbb-1.4.2/include/url/File_based/forum_urls.php
  2: /**  2: /**
  3:  * SEF URLs that use a file-like layout.  3:  * SEF URLs that use a file-like layout.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 14:  14: 
 15: // These are the simple file based SEF URLs 15: // These are the simple file based SEF URLs
 16: $forum_url = array( 16: $forum_url = array(
 17:     'insertion_find'                =>  '.html', 17:     'insertion_find'                =>    '.html',
 18:     'insertion_replace'                =>  '-$1.html', 18:     'insertion_replace'                =>    '-$1.html',
 19:     'change_email'                    =>    'change-email$1.html', 19:     'change_email'                    =>    'change-email$1.html',
 20:     'change_email_key'                =>    'change-email$1-$2.html', 20:     'change_email_key'                =>    'change-email$1-$2.html',
 21:     'change_password'                =>    'change-password$1.html', 21:     'change_password'                =>    'change-password$1.html',


punbb-1.4.1/include/url/File_based/reserved_strings.php punbb-1.4.2/include/url/File_based/reserved_strings.php
  3:  * Loads the reserved strings used to transform problematic strings in URLs.  3:  * Loads the reserved strings used to transform problematic strings in URLs.
  4:  * These are matched against the whole string after all other transformations.  4:  * These are matched against the whole string after all other transformations.
  5:  *  5:  *
  6:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  6:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  8:  * @package PunBB  8:  * @package PunBB
  9:  */  9:  */


punbb-1.4.1/include/url/File_based/rewrite_rules.php punbb-1.4.2/include/url/File_based/rewrite_rules.php
  2: /**  2: /**
  3:  * Loads the regular expressions used to match SEF URL requests to their proper URLs.  3:  * Loads the regular expressions used to match SEF URL requests to their proper URLs.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */


punbb-1.4.1/include/url/File_based_(fancy)/forum_urls.php punbb-1.4.2/include/url/File_based_(fancy)/forum_urls.php
  3:  * SEF URLs that use a file-like layout and include topic name and forum name  3:  * SEF URLs that use a file-like layout and include topic name and forum name
  4:  * where applicable.  4:  * where applicable.
  5:  *  5:  *
  6:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  6:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  8:  * @package PunBB  8:  * @package PunBB
  9:  */  9:  */
 15:  15: 
 16: // These are the "fancy" file based SEF URLs 16: // These are the "fancy" file based SEF URLs
 17: $forum_url = array( 17: $forum_url = array(
 18:     'insertion_find'                =>  '.html', 18:     'insertion_find'                =>    '.html',
 19:     'insertion_replace'                =>  '-$1.html', 19:     'insertion_replace'                =>    '-$1.html',
 20:     'change_email'                    =>    'change-email$1.html', 20:     'change_email'                    =>    'change-email$1.html',
 21:     'change_email_key'                =>    'change-email$1-$2.html', 21:     'change_email_key'                =>    'change-email$1-$2.html',
 22:     'change_password'                =>    'change-password$1.html', 22:     'change_password'                =>    'change-password$1.html',


punbb-1.4.1/include/url/File_based_(fancy)/reserved_strings.php punbb-1.4.2/include/url/File_based_(fancy)/reserved_strings.php
  3:  * Loads the reserved strings used to transform problematic strings in URLs.  3:  * Loads the reserved strings used to transform problematic strings in URLs.
  4:  * These are matched against the whole string after all other transformations.  4:  * These are matched against the whole string after all other transformations.
  5:  *  5:  *
  6:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  6:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  8:  * @package PunBB  8:  * @package PunBB
  9:  */  9:  */


punbb-1.4.1/include/url/File_based_(fancy)/rewrite_rules.php punbb-1.4.2/include/url/File_based_(fancy)/rewrite_rules.php
  2: /**  2: /**
  3:  * Loads the regular expressions used to match SEF URL requests to their proper URLs.  3:  * Loads the regular expressions used to match SEF URL requests to their proper URLs.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */


punbb-1.4.1/include/url/Folder_based/forum_urls.php punbb-1.4.2/include/url/Folder_based/forum_urls.php
  2: /**  2: /**
  3:  * SEF URLs that use a folder-like layout.  3:  * SEF URLs that use a folder-like layout.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */


punbb-1.4.1/include/url/Folder_based/reserved_strings.php punbb-1.4.2/include/url/Folder_based/reserved_strings.php
  3:  * Loads the reserved strings used to transform problematic strings in URLs.  3:  * Loads the reserved strings used to transform problematic strings in URLs.
  4:  * These are matched against the whole string after all other transformations.  4:  * These are matched against the whole string after all other transformations.
  5:  *  5:  *
  6:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  6:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  8:  * @package PunBB  8:  * @package PunBB
  9:  */  9:  */


punbb-1.4.1/include/url/Folder_based/rewrite_rules.php punbb-1.4.2/include/url/Folder_based/rewrite_rules.php
  2: /**  2: /**
  3:  * Loads the regular expressions used to match SEF URL requests to their proper URLs.  3:  * Loads the regular expressions used to match SEF URL requests to their proper URLs.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */


punbb-1.4.1/include/url/Folder_based_(fancy)/forum_urls.php punbb-1.4.2/include/url/Folder_based_(fancy)/forum_urls.php
  3:  * SEF URLs that use a folder-like layout and include topic name and forum name  3:  * SEF URLs that use a folder-like layout and include topic name and forum name
  4:  * where applicable.  4:  * where applicable.
  5:  *  5:  *
  6:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  6:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  8:  * @package PunBB  8:  * @package PunBB
  9:  */  9:  */


punbb-1.4.1/include/url/Folder_based_(fancy)/reserved_strings.php punbb-1.4.2/include/url/Folder_based_(fancy)/reserved_strings.php
  3:  * Loads the reserved strings used to transform problematic strings in URLs.  3:  * Loads the reserved strings used to transform problematic strings in URLs.
  4:  * These are matched against the whole string after all other transformations.  4:  * These are matched against the whole string after all other transformations.
  5:  *  5:  *
  6:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  6:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  7:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  8:  * @package PunBB  8:  * @package PunBB
  9:  */  9:  */


punbb-1.4.1/include/url/Folder_based_(fancy)/rewrite_rules.php punbb-1.4.2/include/url/Folder_based_(fancy)/rewrite_rules.php
  2: /**  2: /**
  3:  * Loads the regular expressions used to match SEF URL requests to their proper URLs.  3:  * Loads the regular expressions used to match SEF URL requests to their proper URLs.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */


punbb-1.4.1/include/xml.php punbb-1.4.2/include/xml.php
  2: /**  2: /**
  3:  * Loads various functions used in parsing XML (mostly for extensions).  3:  * Loads various functions used in parsing XML (mostly for extensions).
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
173:             $errors[] = sprintf($lang_admin_ext['extension/minversion error2'], $ext['minversion']);173:             $errors[] = sprintf($lang_admin_ext['extension/minversion error2'], $ext['minversion']);
174:         if (!isset($ext['maxtestedon']) || $ext['maxtestedon'] == '')174:         if (!isset($ext['maxtestedon']) || $ext['maxtestedon'] == '')
175:             $errors[] = $lang_admin_ext['extension/maxtestedon error'];175:             $errors[] = $lang_admin_ext['extension/maxtestedon error'];
 176: 
176:         if (isset($ext['note']))177:         if (isset($ext['note']))
177:         {178:         {
178:             foreach ($ext['note'] as $note)179:             foreach ($ext['note'] as $note)
183:                     $errors[] = $lang_admin_ext['extension/note error2'];184:                     $errors[] = $lang_admin_ext['extension/note error2'];
184:             }185:             }
185:         }186:         }
 187: 
186:         if (isset($ext['hooks']) && is_array($ext['hooks']))188:         if (isset($ext['hooks']) && is_array($ext['hooks']))
187:         {189:         {
188:             if (!isset($ext['hooks']['hook']) || !is_array($ext['hooks']['hook']))190:             if (!isset($ext['hooks']['hook']) || !is_array($ext['hooks']['hook']))


punbb-1.4.1/index.php punbb-1.4.2/index.php
  2: /**  2: /**
  3:  * Displays a list of the categories/forums that the current user can see, along with some statistics.  3:  * Displays a list of the categories/forums that the current user can see, along with some statistics.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */


punbb-1.4.1/lang/English/admin_ext.php punbb-1.4.2/lang/English/admin_ext.php
 21: 'Extension error'                =>    'Error', 21: 'Extension error'                =>    'Error',
 22: 'Extension loading error'        =>    'Loading of extension "%s" failed.', 22: 'Extension loading error'        =>    'Loading of extension "%s" failed.',
 23: 'Illegal ID'                    =>    'The ID must contain only lowercase alphanumeric characters (a-z and 0-9) and the underscore character (_).', 23: 'Illegal ID'                    =>    'The ID must contain only lowercase alphanumeric characters (a-z and 0-9) and the underscore character (_).',
  24: 'Maxtestedon error'                =>    'This extension is not compatible with your PunBB version.',
 24: 'Maxtestedon warning'            =>    'This extension has not been explicitly tested on your PunBB version and might therefore not be compatible with your current setup.', 25: 'Maxtestedon warning'            =>    'This extension has not been explicitly tested on your PunBB version and might therefore not be compatible with your current setup.',
 25: 'Missing manifest'                =>    'Missing manifest.xml.', 26: 'Missing manifest'                =>    'Missing manifest.xml.',
 26: 'Failed parse manifest'            =>    'Unable to parse manifest.xml.', 27: 'Failed parse manifest'            =>    'Unable to parse manifest.xml.',


punbb-1.4.1/lang/English/admin_index.php punbb-1.4.2/lang/English/admin_index.php
  7: 'Alerts'                        =>    'Administrator Alerts',  7: 'Alerts'                        =>    'Administrator Alerts',
  8: 'Check for updates enabled'        =>    'This board is setup to automatically check for updates and hotfixes against the punbb.informer.com updates service.',  8: 'Check for updates enabled'        =>    'This board is setup to automatically check for updates and hotfixes against the punbb.informer.com updates service.',
  9: 'Check for updates manual'        =>    'Check for updates',    // Link text  9: 'Check for updates manual'        =>    'Check for updates',    // Link text
 10: 'Copyright message'                =>    '&copy; 2008-2011 <a href="http://punbb.informer.com/">PunBB</a>, partially based on code &copy; 2008-2009 <a href="http://fluxbb.org/">FluxBB</a>', 10: 'Copyright message'                =>    '&copy; 2008-2012 <a href="http://punbb.informer.com/">PunBB</a>',
 11: 'PunBB version'                    =>    'PunBB version', 11: 'PunBB version'                    =>    'PunBB version',
 12: 'PunBB community'                =>    'Community', 12: 'PunBB community'                =>    'Community',
 13: 'Forums'                        =>    'Forums', 13: 'Forums'                        =>    'Forums',


punbb-1.4.1/lang/English/admin_prune.php punbb-1.4.2/lang/English/admin_prune.php
 16: 'Number of topics'                =>    'Number of topics', 16: 'Number of topics'                =>    'Number of topics',
 17: 'Prune caution'                    =>    '<strong>IMPORTANT!</strong> Use this feature with caution. Pruned posts can <em>NEVER</em> be recovered. For best performance you should put the forum in maintenance mode during pruning.', 17: 'Prune caution'                    =>    '<strong>IMPORTANT!</strong> Use this feature with caution. Pruned posts can <em>NEVER</em> be recovered. For best performance you should put the forum in maintenance mode during pruning.',
 18: 'Prune intro'                    =>    'You may prune topics from all forums or from one particular forum. Topics will be pruned according to the value you specify for "Days old". E.g. if you were to enter 30, every topic that didn\'t contain a post dated less than 30 days old would be deleted.', 18: 'Prune intro'                    =>    'You may prune topics from all forums or from one particular forum. Topics will be pruned according to the value you specify for "Days old". E.g. if you were to enter 30, every topic that didn\'t contain a post dated less than 30 days old would be deleted.',
 19: 'Prune sticky'                    =>    'Prune sticky topics', 
 20: 'Prune sticky enable'            =>    'Enable pruning of sticky topics.', 19: 'Prune sticky enable'            =>    'Enable pruning of sticky topics.',
 21: 'Prune from'                    =>    'Prune from forum', 20: 'Prune from'                    =>    'Prune from forum',
 22: 'Days to prune message'            =>    'Days to prune must be a positive integer.', 21: 'Days to prune message'            =>    'Days to prune must be a positive integer.',


punbb-1.4.1/lang/English/admin_reindex.php punbb-1.4.2/lang/English/admin_reindex.php
  6: 'Reindex heading'            =>    'Rebuild search index to restore search performance',  6: 'Reindex heading'            =>    'Rebuild search index to restore search performance',
  7: 'Rebuild index legend'        =>    'Rebuild search index',  7: 'Rebuild index legend'        =>    'Rebuild search index',
  8: 'Reindex info'                =>    'If you have added, edited or removed posts manually in the database or if you are having problems searching, you should rebuild the search index. For best performance you should put the forum in maintenance mode during rebuilding. Once the process has completed you will be redirected back to this page. It is highly recommended that you have JavaScript enabled in your browser during rebuilding (for automatic redirect when a cycle has completed).',  8: 'Reindex info'                =>    'If you have added, edited or removed posts manually in the database or if you are having problems searching, you should rebuild the search index. For best performance you should put the forum in maintenance mode during rebuilding. Once the process has completed you will be redirected back to this page. It is highly recommended that you have JavaScript enabled in your browser during rebuilding (for automatic redirect when a cycle has completed).',
  9: 'Reindex warning'            =>    '<strong>IMPORTANT!</strong> Rebuilding the search index can take a long time and will increase server load during the rebuild process. If you are forced to abort the rebuild process, make a note of the last processed post ID and enter that ID+1 in "Starting post ID" when/if you want to continue.',  9: 'Reindex warning'            =>    '<strong>IMPORTANT!</strong> Rebuilding the search index can take a long time and will increase server load during the rebuild process. If you are forced to abort the rebuild process, make a note of the last processed post ID and enter that ID+1 in "Starting post ID" when you want to continue.',
 10: 'Empty index warning'        =>    '<strong>WARNING!</strong> If you want to resume an aborted rebuild, do not select "empty index".', 10: 'Empty index warning'        =>    '<strong>WARNING!</strong> If you want to resume an aborted rebuild, do not select "empty index".',
 11: 'Posts per cycle'            =>    'Posts per cycle', 11: 'Posts per cycle'            =>    'Posts per cycle',
 12: 'Posts per cycle info'        =>    'The number of posts to process per pageview. E.g. if you were to enter 100, one hundred posts would be processed and then the page would refresh. This is to prevent the script from timing out during the rebuild process.', 12: 'Posts per cycle info'        =>    'The number of posts to process per pageview. E.g. if you were to enter 100, one hundred posts would be processed and then the page would refresh. This is to prevent the script from timing out during the rebuild process.',
 13: 'Starting post'                =>    'Starting post ID', 13: 'Starting post'                =>    'Starting post ID',
 14: 'Starting post info'        =>    'The post ID to start rebuilding at. The default value is the first available ID in the database. Normally you would not want to change this.', 14: 'Starting post info'        =>    'The post ID to start rebuilding at. The default value is the first available ID in the database. Normally you would not want to change this.',
 15: 'Empty index'                =>    'Empty index', 15: 'Empty index'                =>    'Empty search index before rebuilding (see below).',
 16: 'Empty index info'            =>    'Empty search index before rebuilding (see below).', 
 17: 'Rebuilding index title'    =>    'Rebuilding search index…', 16: 'Rebuilding index title'    =>    'Rebuilding search index…',
 18: 'Rebuilding index'            =>    'Rebuilding index… This might be a good time to put on some coffee :-)', 17: 'Rebuilding index'            =>    'Rebuilding index… This might be a good time to put on some coffee :-)',
 19: 'Processing post'            =>    'Processing post <strong>%s</strong> in topic <strong>%s</strong>.', 18: 'Processing post'            =>    'Processing post <strong>%s</strong> in topic <strong>%s</strong>.',
 21: 'Click to continue'            =>    'Click here to continue', 20: 'Click to continue'            =>    'Click here to continue',
 22: 'Rebuild index'                =>    'Rebuild index', 21: 'Rebuild index'                =>    'Rebuild index',
 23:  22: 
 24: ); 
 25:  23: 
  24: );


punbb-1.4.1/lang/English/admin_reports.php punbb-1.4.2/lang/English/admin_reports.php
 18: 'Read reports heading'            =>    'Last 10 reports marked as read', 18: 'Read reports heading'            =>    'Last 10 reports marked as read',
 19: 'No reports'                    =>    'There are no reports either read or unread for you to view.', 19: 'No reports'                    =>    'There are no reports either read or unread for you to view.',
 20: 'Marked read by'                =>    'Read %s by %s', 20: 'Marked read by'                =>    'Read %s by %s',
  21: 'Post'                            => 'Post #%s',
 21:  22: 
 22: ); 23: );


punbb-1.4.1/lang/English/admin_settings.php punbb-1.4.2/lang/English/admin_settings.php
210: 'Maintenance mode'                =>    'Maintenance mode',210: 'Maintenance mode'                =>    'Maintenance mode',
211: 'Maintenance mode label'        =>    'Put board into maintenance mode.',211: 'Maintenance mode label'        =>    'Put board into maintenance mode.',
212: 'Maintenance message label'        =>    'Maintenance message',212: 'Maintenance message label'        =>    'Maintenance message',
213: 'Maintenance message help'        =>    'The message to be shown when the board is in maintenance mode. You may use the default message provided or compose your own. You may use HTML in your message.',213: 'Maintenance message help'        =>    'The message to be shown when the board is in maintenance mode. You may use HTML in your message.',
214: 'Maintenance message default'    =>    'The forums are temporarily down for maintenance. Please try again in a few minutes.<br /><br />Administrator',214: 'Maintenance message default'    =>    'The forums are temporarily down for maintenance. Please try again in a few minutes.<br /><br />Administrator',
215: 215: 
216: );216: );


punbb-1.4.1/lang/English/admin_users.php punbb-1.4.2/lang/English/admin_users.php
 76: 'Ban admin message'                =>    'One of the selected users is an administrator and can\'t be banned. If you want to ban an administrator, you must first move him/her to any other user group.', 76: 'Ban admin message'                =>    'One of the selected users is an administrator and can\'t be banned. If you want to ban an administrator, you must first move him/her to any other user group.',
 77: 'Users banned'                    =>    'Users banned.', 77: 'Users banned'                    =>    'Users banned.',
 78: 'Mass ban info'                    =>    'You may set a message to be displayed to the banned users and set the date their bans are to expire.', 78: 'Mass ban info'                    =>    'You may set a message to be displayed to the banned users and set the date their bans are to expire.',
 79: 'Ban settings legend'            =>     'Ban users', 79: 'Ban settings legend'            =>    'Ban users',
 80: 'Change group head'                =>    'Move the selected users to a new group', 80: 'Change group head'                =>    'Move the selected users to a new group',
 81: 'User groups updated'            =>    'User groups updated.', 81: 'User groups updated'            =>    'User groups updated.',
 82: 'Move users legend'                =>    'Move users', 82: 'Move users legend'                =>    'Move users',


punbb-1.4.1/lang/English/common.php punbb-1.4.2/lang/English/common.php
 86: 'Info separator'            =>    ' ', // e.g. 1 Page | 10 Topics 86: 'Info separator'            =>    ' ', // e.g. 1 Page | 10 Topics
 87: 'Powered by'                =>    'Powered by %s, supported by %s.', 87: 'Powered by'                =>    'Powered by %s, supported by %s.',
 88: 'Maintenance'                =>    'Maintenance', 88: 'Maintenance'                =>    'Maintenance',
 89: 'Installed extension'        =>    'The %s official extension is installed. Copyright &copy; 2003&ndash;2011 <a href="http://punbb.informer.com/">PunBB</a>.', 89: 'Installed extension'        =>    'The %s official extension is installed. Copyright &copy; 2003&ndash;2012 <a href="http://punbb.informer.com/">PunBB</a>.',
 90: 'Installed extensions'        =>    'Currently installed <span id="extensions-used" title="%s">%s official extensions</span>. Copyright &copy; 2003&ndash;2011 <a href="http://punbb.informer.com/">PunBB</a>.', 90: 'Installed extensions'        =>    'Currently installed <span id="extensions-used" title="%s">%s official extensions</span>. Copyright &copy; 2003&ndash;2012 <a href="http://punbb.informer.com/">PunBB</a>.',
 91:  91: 
 92: // CSRF confirmation form 92: // CSRF confirmation form
 93: 'Confirm'                    =>    'Confirm',    // Button 93: 'Confirm'                    =>    'Confirm',    // Button
115: // Stuff for the navigator (top of every page)115: // Stuff for the navigator (top of every page)
116: 'Index'                        =>    'Index',116: 'Index'                        =>    'Index',
117: 'User list'                    =>    'User list',117: 'User list'                    =>    'User list',
118: 'Rules'                        =>  'Rules',118: 'Rules'                        =>    'Rules',
119: 'Search'                    =>  'Search',119: 'Search'                    =>    'Search',
120: 'Register'                    =>  'Register',120: 'Register'                    =>    'Register',
121: 'register'                    =>    'register',121: 'register'                    =>    'register',
122: 'Login'                        =>  'Login',122: 'Login'                        =>    'Login',
123: 'login'                        =>    'login',123: 'login'                        =>    'login',
124: 'Not logged in'                =>  'You are not logged in.',124: 'Not logged in'                =>    'You are not logged in.',
125: 'Profile'                    =>    'Profile',125: 'Profile'                    =>    'Profile',
126: 'Logout'                    =>    'Logout',126: 'Logout'                    =>    'Logout',
127: 'Logged in as'                =>    'Logged in as %s.',127: 'Logged in as'                =>    'Logged in as %s.',
155: 'Skip to content'            =>    'Skip to forum content',155: 'Skip to content'            =>    'Skip to forum content',
156: 156: 
157: // Debug information157: // Debug information
158: 'Querytime'                    =>    'Generated in %1$s seconds, %2$s queries executed',158: 'Querytime'                    =>    'Generated in %1$s seconds (%2$s%% PHP - %3$s%% DB) with %4$s queries',
159: 'Debug table'                =>    'Debug information',159: 'Debug table'                =>    'Debug information',
160: 'Debug summary'                =>    'Database query performance information',160: 'Debug summary'                =>    'Database query performance information',
161: 'Query times'                =>    'Time (s)',161: 'Query times'                =>    'Time (s)',
162: 'Query'                        =>    'Query',162: 'Query'                        =>    'Query',
163: 'Total query time'            =>    'Total query time',163: 'Total query time'            =>    'Total query time',
164: 164: 
 165: // Error message
 166: 'Forum error header'        => 'Sorry! The page could not be loaded.',
 167: 'Forum error description'    => 'This is probably a temporary error. Just refresh the page and retry. If problem continues, please check back in 5-10 minutes.',
 168: 'Forum error location'        => 'The error occurred on line %1$s in %2$s',
 169: 'Forum error db reported'    => 'Database reported:',
 170: 'Forum error db query'        => 'Failed query:',
 171: 
165: );172: );


punbb-1.4.1/lang/English/index.php punbb-1.4.2/lang/English/index.php
  3: // Language definitions used in index.php  3: // Language definitions used in index.php
  4: $lang_index = array(  4: $lang_index = array(
  5:   5: 
  6: 'Moderated by'                =>  'Moderated by %s',  6: 'Moderated by'                =>    'Moderated by %s',
  7: 'Link to'                    =>    'Link to %s',    // As in "Link to http://punbb.informer.com/"  7: 'Link to'                    =>    'Link to %s',    // As in "Link to http://punbb.informer.com/"
  8: 'Category subtitle'            =>    '%1$s in this category with details of %2$s',  8: 'Category subtitle'            =>    '%1$s in this category with details of %2$s',
  9: 'Forums'                    =>    'Forums',  9: 'Forums'                    =>    'Forums',


punbb-1.4.1/lang/English/install.php punbb-1.4.2/lang/English/install.php
 40: 'Admin confirm password'    =>    'Confirm password', 40: 'Admin confirm password'    =>    'Confirm password',
 41: 'Admin e-mail'                =>    'Admin\'s email', 41: 'Admin e-mail'                =>    'Admin\'s email',
 42: 'Username help'                =>    'Between 2 and 25 characters.', 42: 'Username help'                =>    'Between 2 and 25 characters.',
 43: 'Password help'                =>    'Minimum 4 characters. Case sensitive.', 43: 'Password help'                =>    'Minimum 4 characters. cAsE sEnsiTive.',
 44: 'Confirm password help'        =>    'Re-enter exactly as before.', 44: 'Confirm password help'        =>    'Re-enter exactly as before.',
 45: 'E-mail address help'        =>    'A valid current email address for the forum administrator.', 45: 'E-mail address help'        =>    'A valid current email address for the forum administrator.',
 46: 'Part3'                        =>    'Part 3 â€” Forum setup', 46: 'Part3'                        =>    'Part 3 â€” Forum setup',


punbb-1.4.1/lang/English/misc.php punbb-1.4.2/lang/English/misc.php
 41: 'Select'                    =>    'Select',    // the header of a column of checkboxes 41: 'Select'                    =>    'Select',    // the header of a column of checkboxes
 42: 'Move'                        =>    'Move', 42: 'Move'                        =>    'Move',
 43: 'Merge'                        =>    'Merge', 43: 'Merge'                        =>    'Merge',
 44: 'Open'                        =>  'Open', 44: 'Open'                        =>    'Open',
 45: 'Close'                        =>  'Close', 45: 'Close'                        =>    'Close',
 46: 'Select all'                =>    'Select all', 46: 'Select all'                =>    'Select all',
 47:  47: 
 48:  48: 


punbb-1.4.1/lang/English/profile.php punbb-1.4.2/lang/English/profile.php
 31:  31: 
 32: // Avatar stuff 32: // Avatar stuff
 33: 'Avatar welcome'            =>    'Set an avatar image to enhance your forum identity', 33: 'Avatar welcome'            =>    'Set an avatar image to enhance your forum identity',
 34: 'Avatar welcome user'        =>    'Set an avatar image to enhance  %s\'s forum identity', 34: 'Avatar welcome user'        =>    'Set an avatar image to enhance %s\'s forum identity',
 35: 'Avatar deleted redirect'    =>    'Avatar deleted.', 35: 'Avatar deleted redirect'    =>    'Avatar deleted.',
 36: 'Avatars disabled'            =>    'The administrator has disabled avatar support.', 36: 'Avatars disabled'            =>    'The administrator has disabled avatar support.',
 37: 'No file'                    =>    'You did not select a file for upload.', 37: 'No file'                    =>    'You did not select a file for upload.',
 83: 'Note'                        =>    'Note', 83: 'Note'                        =>    'Note',
 84: 'Posts'                        =>    'Posts', 84: 'Posts'                        =>    'Posts',
 85: 'Last post'                    =>    'Last post', 85: 'Last post'                    =>    'Last post',
 86: 'Last visit'                =>     'Last visit', 86: 'Last visit'                =>    'Last visit',
 87: 'Send forum e-mail'            =>    'Send forum email', 87: 'Send forum e-mail'            =>    'Send forum email',
 88: 'Contact info'                =>    'Contact information', 88: 'Contact info'                =>    'Contact information',
 89: 'Jabber'                    =>    'Jabber', 89: 'Jabber'                    =>    'Jabber',
115: 'Settings welcome'            =>    'Modify your localization, display and email settings',115: 'Settings welcome'            =>    'Modify your localization, display and email settings',
116: 'Settings welcome user'        =>    'Modify %s\'s localization, display and email settings',116: 'Settings welcome user'        =>    'Modify %s\'s localization, display and email settings',
117: 'Timezone info'                =>    'Must be set for correct time display.',117: 'Timezone info'                =>    'Must be set for correct time display.',
118: 'Time format'                =>  'Time format',118: 'Time format'                =>    'Time format',
119: 'Default'                    =>  'default',119: 'Default'                    =>    'default',
120: 'Date format'                =>  'Date format',120: 'Date format'                =>    'Date format',
121: 'Display settings'            =>    'Display settings',121: 'Display settings'            =>    'Display settings',
122: 'Styles'                    =>    'Available styles',122: 'Styles'                    =>    'Available styles',
123: 'Image display'                =>    'Image display',123: 'Image display'                =>    'Image display',
231: 'Username'                    =>    'Username',231: 'Username'                    =>    'Username',
232: 'Username help'                =>    'Between 2 and 25 characters.',232: 'Username help'                =>    'Between 2 and 25 characters.',
233: 'Password'                    =>    'Password',233: 'Password'                    =>    'Password',
234: 'Password help'                =>    'Minimum 4 characters. Case sensitive.',234: 'Password help'                =>    'Minimum 4 characters. cAsE sEnsiTive.',
235: 'Confirm password'            =>    'Confirm password',235: 'Confirm password'            =>    'Confirm password',
236: 'Confirm password help'        =>    'Re-enter your password exactly as before.',236: 'Confirm password help'        =>    'Re-enter your password exactly as before.',
237: 'E-mail'                    =>    'Email',237: 'E-mail'                    =>    'Email',


punbb-1.4.1/lang/English/topic.php punbb-1.4.2/lang/English/topic.php
 24: 'E-mail'                =>    'Email', 24: 'E-mail'                =>    'Email',
 25: 'Online'                =>    'Online', 25: 'Online'                =>    'Online',
 26: 'Offline'                =>    'Offline', 26: 'Offline'                =>    'Offline',
 27: 'Last edited'            =>    'Last edited by %1$s (%2$s)', 27: 'Last edited'            =>    '(edited by %1$s %2$s)',
 28: 'Report'                =>    'Report', 28: 'Report'                =>    'Report',
 29: 'Delete'                =>    'Delete', 29: 'Delete'                =>    'Delete',
 30: 'Delete topic'            =>    'Delete topic', 30: 'Delete topic'            =>    'Delete topic',


punbb-1.4.1/lang/English/url_replace.php punbb-1.4.2/lang/English/url_replace.php
  1: <?php  1: <?php
  2:   2: 
  3: // The contents of this file are very much inspired by the file i18n-ascii.txt  3: // The contents of this file are very much inspired by the file i18n-ascii.txt
  4: // from the CMS software Textpattern (http://textpattern.com/).   4: // from the CMS software Textpattern (http://textpattern.com/).
  5:   5: 
  6: // Replacements done by sef_friendly function  6: // Replacements done by sef_friendly function
  7: $lang_url_replace = array(  7: $lang_url_replace = array(


punbb-1.4.1/lang/English/userlist.php punbb-1.4.2/lang/English/userlist.php
 23: 'All users'                =>    'All users', 23: 'All users'                =>    'All users',
 24: 'Perform new search'    =>    'Perform new user search', 24: 'Perform new search'    =>    'Perform new user search',
 25: 'Table summary'            =>    'List of users filtered and sorted according to the criteria (if any) you have chosen.', 25: 'Table summary'            =>    'List of users filtered and sorted according to the criteria (if any) you have chosen.',
 26: 'Submit user search'    =>    'Submit user criteria', 26: 'Submit user search'    =>    'Search',
 27: 'Title'                    =>    'Title', 27: 'Title'                    =>    'Title',
 28: 'Posts'                    =>    'Posts' 28: 'Posts'                    =>    'Posts'
 29:  29: 
 30: ); 
 31:  30: 
  31: );


punbb-1.4.1/login.php punbb-1.4.2/login.php
  2: /**  2: /**
  3:  * Handles logins, logouts, and password reset requests.  3:  * Handles logins, logouts, and password reset requests.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 95:  95: 
 96:             ($hook = get_hook('li_login_qr_update_user_group')) ? eval($hook) : null; 96:             ($hook = get_hook('li_login_qr_update_user_group')) ? eval($hook) : null;
 97:             $forum_db->query_build($query) or error(__FILE__, __LINE__); 97:             $forum_db->query_build($query) or error(__FILE__, __LINE__);
  98: 
  99:             // Remove cache file with forum stats
 100:             if (!defined('FORUM_CACHE_FUNCTIONS_LOADED'))
 101:             {
 102:                 require FORUM_ROOT.'include/cache.php';
 103:             }
 104: 
 105:             clean_stats_cache();
 98:         }106:         }
 99: 107: 
100:         // Remove this user's guest entry from the online list108:         // Remove this user's guest entry from the online list
273:     // Setup breadcrumbs281:     // Setup breadcrumbs
274:     $forum_page['crumbs'] = array(282:     $forum_page['crumbs'] = array(
275:         array($forum_config['o_board_title'], forum_link($forum_url['index'])),283:         array($forum_config['o_board_title'], forum_link($forum_url['index'])),
276:         array($lang_login['New password request'], forum_link($forum_url['request_password']))284:         $lang_login['New password request']
277:     );285:     );
278: 286: 
279:     ($hook = get_hook('li_forgot_pass_pre_header_load')) ? eval($hook) : null;287:     ($hook = get_hook('li_forgot_pass_pre_header_load')) ? eval($hook) : null;
318: 326: 
319: ?>327: ?>
320:         <div id="req-msg" class="req-warn ct-box error-box">328:         <div id="req-msg" class="req-warn ct-box error-box">
321:             <p class="important"><?php echo $lang_common['Required warn']; ?></p>329:             <p class="important"><?php echo $lang_common['Required warn'] ?></p>
322:         </div>330:         </div>
323:         <form id="afocus" class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">331:         <form id="afocus" class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">
324:             <div class="hidden">332:             <div class="hidden">
331:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">339:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
332:                     <div class="sf-box text required">340:                     <div class="sf-box text required">
333:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_login['E-mail address'] ?></span> <small><?php echo $lang_login['E-mail address help'] ?></small></label><br />341:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_login['E-mail address'] ?></span> <small><?php echo $lang_login['E-mail address help'] ?></small></label><br />
334:                         <span class="fld-input"><input id="fld<?php echo $forum_page['fld_count'] ?>" type="email" name="req_email" value="<?php echo isset($_POST['req_email']) ? forum_htmlencode($_POST['req_email']) : '' ?>" size="35" maxlength="80" required /></span>342:                         <span class="fld-input"><input id="fld<?php echo $forum_page['fld_count'] ?>" type="email" name="req_email" value="<?php if (isset($_POST['req_email'])) echo forum_htmlencode($_POST['req_email']); ?>" size="35" maxlength="80" required spellcheck="false" /></span>
335:                     </div>343:                     </div>
336:                 </div>344:                 </div>
337: <?php ($hook = get_hook('li_forgot_pass_pre_group_end')) ? eval($hook) : null; ?>345: <?php ($hook = get_hook('li_forgot_pass_pre_group_end')) ? eval($hook) : null; ?>
371: // Setup breadcrumbs379: // Setup breadcrumbs
372: $forum_page['crumbs'] = array(380: $forum_page['crumbs'] = array(
373:     array($forum_config['o_board_title'], forum_link($forum_url['index'])),381:     array($forum_config['o_board_title'], forum_link($forum_url['index'])),
374:     array(sprintf($lang_login['Login info'], $forum_config['o_board_title']), forum_link($forum_url['login']))382:     sprintf($lang_login['Login info'], $forum_config['o_board_title'])
375: );383: );
376: 384: 
377: ($hook = get_hook('li_login_pre_header_load')) ? eval($hook) : null;385: ($hook = get_hook('li_login_pre_header_load')) ? eval($hook) : null;
416: 424: 
417: ?>425: ?>
418:         <div id="req-msg" class="req-warn ct-box error-box">426:         <div id="req-msg" class="req-warn ct-box error-box">
419:             <p class="important"><?php echo $lang_common['Required warn']; ?></p>427:             <p class="important"><?php echo $lang_common['Required warn'] ?></p>
420:         </div>428:         </div>
421:         <form id="afocus" class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">429:         <form id="afocus" class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">
422:             <div class="hidden">430:             <div class="hidden">
428:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">436:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
429:                     <div class="sf-box text required">437:                     <div class="sf-box text required">
430:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_login['Username'] ?></span></label><br />438:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_login['Username'] ?></span></label><br />
431:                         <span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_username" value="<?php echo isset($_POST['req_username']) ? forum_htmlencode($_POST['req_username']) : '' ?>" size="35" maxlength="25" required /></span>439:                         <span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_username" value="<?php if (isset($_POST['req_username'])) echo forum_htmlencode($_POST['req_username']); ?>" size="35" maxlength="25" required spellcheck="false" /></span>
432:                     </div>440:                     </div>
433:                 </div>441:                 </div>
434: <?php ($hook = get_hook('li_login_pre_pass')) ? eval($hook) : null; ?>442: <?php ($hook = get_hook('li_login_pre_pass')) ? eval($hook) : null; ?>
435:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">443:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
436:                     <div class="sf-box text required">444:                     <div class="sf-box text required">
437:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_login['Password'] ?></span></label><br />445:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_login['Password'] ?></span></label><br />
438:                         <span class="fld-input"><input type="password" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_password" value="<?php echo isset($_POST['req_password']) ? forum_htmlencode($_POST['req_password']) : '' ?>" size="35" required /></span>446:                         <span class="fld-input"><input type="password" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_password" value="<?php if (isset($_POST['req_password'])) echo forum_htmlencode($_POST['req_password']); ?>" size="35" required /></span>
439:                     </div>447:                     </div>
440:                 </div>448:                 </div>
441: <?php ($hook = get_hook('li_login_pre_remember_me_checkbox')) ? eval($hook) : null; ?>449: <?php ($hook = get_hook('li_login_pre_remember_me_checkbox')) ? eval($hook) : null; ?>
442:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">450:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
443:                     <div class="sf-box checkbox">451:                     <div class="sf-box checkbox">
444:                         <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="save_pass" value="1" <?php echo isset($_POST['save_pass']) ? 'checked="checked" ' : '' ?>/></span>452:                         <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="save_pass" value="1"<?php if (isset($_POST['save_pass'])) echo ' checked="checked"'; ?> /></span>
445:                         <label for="fld<?php echo $forum_page['fld_count'] ?>"><?php echo $lang_login['Remember me'] ?></label>453:                         <label for="fld<?php echo $forum_page['fld_count'] ?>"><?php echo $lang_login['Remember me'] ?></label>
446:                     </div>454:                     </div>
447:                 </div>455:                 </div>


punbb-1.4.1/misc.php punbb-1.4.2/misc.php
  2: /**  2: /**
  3:  * Provides various features for forum users (ie: display rules, send emails through the forum, mark a forum as read, etc).  3:  * Provides various features for forum users (ie: display rules, send emails through the forum, mark a forum as read, etc).
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 33:     // Setup breadcrumbs 33:     // Setup breadcrumbs
 34:     $forum_page['crumbs'] = array( 34:     $forum_page['crumbs'] = array(
 35:         array($forum_config['o_board_title'], forum_link($forum_url['index'])), 35:         array($forum_config['o_board_title'], forum_link($forum_url['index'])),
 36:         array($lang_common['Rules'], forum_link($forum_url['rules'])) 36:         $lang_common['Rules']
 37:     ); 37:     );
 38:  38: 
 39:     ($hook = get_hook('mi_rules_pre_header_load')) ? eval($hook) : null; 39:     ($hook = get_hook('mi_rules_pre_header_load')) ? eval($hook) : null;
 52:     </div> 52:     </div>
 53:  53: 
 54:     <div class="main-content main-frm"> 54:     <div class="main-content main-frm">
 55:         <div class="ct-box user-box"> 55:         <div id="rules-content" class="ct-box user-box">
 56:             <?php echo $forum_config['o_rules_message']."\n" ?> 56:             <?php echo $forum_config['o_rules_message']."\n" ?>
 57:         </div> 57:         </div>
 58:     </div> 58:     </div>
314: 314: 
315: ?>315: ?>
316:         <div id="req-msg" class="req-warn ct-box error-box">316:         <div id="req-msg" class="req-warn ct-box error-box">
317:             <p class="important"><?php echo $lang_common['Required warn']; ?></p>317:             <p class="important"><?php echo $lang_common['Required warn'] ?></p>
318:         </div>318:         </div>
319:         <form id="afocus" class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">319:         <form id="afocus" class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">
320:             <div class="hidden">320:             <div class="hidden">
506:     </div>506:     </div>
507:     <div class="main-content main-frm">507:     <div class="main-content main-frm">
508:         <div id="req-msg" class="req-warn ct-box error-box">508:         <div id="req-msg" class="req-warn ct-box error-box">
509:             <p class="important"><?php echo $lang_common['Required warn']; ?></p>509:             <p class="important"><?php echo $lang_common['Required warn'] ?></p>
510:         </div>510:         </div>
511: <?php511: <?php
512:         // If there were any errors, show them512:         // If there were any errors, show them


punbb-1.4.1/moderate.php punbb-1.4.2/moderate.php
  2: /**  2: /**
  3:  * Provides various mass-moderation tools to moderators.  3:  * Provides various mass-moderation tools to moderators.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 25:     if (!$forum_user['is_admmod']) 25:     if (!$forum_user['is_admmod'])
 26:         message($lang_common['No permission']); 26:         message($lang_common['No permission']);
 27:  27: 
  28:     $_get_host = $_GET['get_host'];
  29:     if (!is_string($_get_host))
  30:         message($lang_common['Bad request']);
  31: 
 28:     ($hook = get_hook('mr_view_ip_selected')) ? eval($hook) : null; 32:     ($hook = get_hook('mr_view_ip_selected')) ? eval($hook) : null;
 29:  33: 
 30:     // Is get_host an IP address or a post ID? 34:     // Is get_host an IP address or a post ID?
 31:     if (preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/', $_GET['get_host']) || preg_match('/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/', $_GET['get_host'])) 35:     if (preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/', $_get_host) || preg_match('/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/', $_get_host))
 32:         $ip = $_GET['get_host']; 36:         $ip = $_get_host;
 33:     else 37:     else
 34:     { 38:     {
 35:         $get_host = intval($_GET['get_host']); 39:         $get_host = intval($_get_host);
 36:         if ($get_host < 1) 40:         if ($get_host < 1)
 37:             message($lang_common['Bad request']); 41:             message($lang_common['Bad request']);
 38:  42: 
 48:  52: 
 49:         if (!$ip) 53:         if (!$ip)
 50:             message($lang_common['Bad request']); 54:             message($lang_common['Bad request']);
 51:  
 52:     } 55:     }
 53:  56: 
 54:     ($hook = get_hook('mr_view_ip_pre_output')) ? eval($hook) : null; 57:     ($hook = get_hook('mr_view_ip_pre_output')) ? eval($hook) : null;
234:             </fieldset>237:             </fieldset>
235: <?php ($hook = get_hook('mr_confirm_delete_posts_fieldset_end')) ? eval($hook) : null; ?>238: <?php ($hook = get_hook('mr_confirm_delete_posts_fieldset_end')) ? eval($hook) : null; ?>
236:             <div class="frm-buttons">239:             <div class="frm-buttons">
237:                 <span class="submit primary"><input type="submit" name="delete_posts_comply" value="<?php echo $lang_common['Delete'] ?>" /></span>240:                 <span class="submit primary caution"><input type="submit" name="delete_posts_comply" value="<?php echo $lang_common['Delete'] ?>" /></span>
238:                 <span class="cancel"><input type="submit" name="cancel" value="<?php echo $lang_common['Cancel'] ?>" formnovalidate /></span>241:                 <span class="cancel"><input type="submit" name="cancel" value="<?php echo $lang_common['Cancel'] ?>" formnovalidate /></span>
239:             </div>242:             </div>
240:         </form>243:         </form>
378: <?php ($hook = get_hook('mr_confirm_split_posts_pre_subject')) ? eval($hook) : null; ?>381: <?php ($hook = get_hook('mr_confirm_split_posts_pre_subject')) ? eval($hook) : null; ?>
379:                     <div class="sf-box text required">382:                     <div class="sf-box text required">
380:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_misc['New subject'] ?></span></label><br />383:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_misc['New subject'] ?></span></label><br />
381:                         <span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="new_subject" value="" size="70" maxlength="70" required /></span>384:                         <span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="new_subject" size="70" maxlength="70" required /></span>
382:                     </div>385:                     </div>
383: <?php ($hook = get_hook('mr_confirm_split_posts_pre_confirm_checkbox')) ? eval($hook) : null; ?>386: <?php ($hook = get_hook('mr_confirm_split_posts_pre_confirm_checkbox')) ? eval($hook) : null; ?>
384:                     <div class="sf-box checkbox">387:                     <div class="sf-box checkbox">
539: 542: 
540:         $forum_page['post_ident']['link'] = '<span class="post-link"><a class="permalink" rel="bookmark" title="'.$lang_topic['Permalink post'].'" href="'.forum_link($forum_url['post'], $cur_post['id']).'">'.format_time($cur_post['posted']).'</a></span>';543:         $forum_page['post_ident']['link'] = '<span class="post-link"><a class="permalink" rel="bookmark" title="'.$lang_topic['Permalink post'].'" href="'.forum_link($forum_url['post'], $cur_post['id']).'">'.format_time($cur_post['posted']).'</a></span>';
541: 544: 
 545:         if ($cur_post['edited'] != '')
 546:             $forum_page['post_ident']['edited'] = '<span class="post-edit">'.sprintf($lang_topic['Last edited'], forum_htmlencode($cur_post['edited_by']), format_time($cur_post['edited'])).'</span>';
 547: 
542:         ($hook = get_hook('mr_row_pre_item_ident_merge')) ? eval($hook) : null;548:         ($hook = get_hook('mr_row_pre_item_ident_merge')) ? eval($hook) : null;
543: 549: 
544:         // Generate the checkbox field550:         // Generate the checkbox field
577:         // Perform the main parsing of the message (BBCode, smilies, censor words etc)583:         // Perform the main parsing of the message (BBCode, smilies, censor words etc)
578:         $forum_page['message']['message'] = parse_message($cur_post['message'], $cur_post['hide_smilies']);584:         $forum_page['message']['message'] = parse_message($cur_post['message'], $cur_post['hide_smilies']);
579: 585: 
580:         if ($cur_post['edited'] != '') 
581:             $forum_page['message']['edited'] = '<p class="lastedit"><em>'.sprintf($lang_topic['Last edited'], forum_htmlencode($cur_post['edited_by']), format_time($cur_post['edited'])).'</em></p>'; 
582:  
583:         ($hook = get_hook('mr_post_actions_row_pre_display')) ? eval($hook) : null;586:         ($hook = get_hook('mr_post_actions_row_pre_display')) ? eval($hook) : null;
584: 587: 
585: ?>588: ?>
1241:             </fieldset>1244:             </fieldset>
1242: <?php ($hook = get_hook('mr_delete_topics_fieldset_end')) ? eval($hook) : null; ?>1245: <?php ($hook = get_hook('mr_delete_topics_fieldset_end')) ? eval($hook) : null; ?>
1243:             <div class="frm-buttons">1246:             <div class="frm-buttons">
1244:                 <span class="submit primary"><input type="submit" name="delete_topics_comply" value="<?php echo $lang_common['Delete'] ?>" /></span>1247:                 <span class="submit primary caution"><input type="submit" name="delete_topics_comply" value="<?php echo $lang_common['Delete'] ?>" /></span>
1245:                 <span class="cancel"><input type="submit" name="cancel" value="<?php echo $lang_common['Cancel'] ?>" formnovalidate /></span>1248:                 <span class="cancel"><input type="submit" name="cancel" value="<?php echo $lang_common['Cancel'] ?>" formnovalidate /></span>
1246:             </div>1249:             </div>
1247:         </form>1250:         </form>


punbb-1.4.1/post.php punbb-1.4.2/post.php
  2: /**  2: /**
  3:  * Adds a new post to the specified topic or a new topic to the specified forum.  3:  * Adds a new post to the specified topic or a new topic to the specified forum.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
359: 359: 
360: ?>360: ?>
361:     <div class="main-subhead">361:     <div class="main-subhead">
362:         <h2 class="hn"><span><?php echo $tid ? $lang_post['Preview reply'] : $lang_post['Preview new topic']; ?></span></h2>362:         <h2 class="hn"><span><?php echo $tid ? $lang_post['Preview reply'] : $lang_post['Preview new topic'] ?></span></h2>
363:     </div>363:     </div>
364:     <div id="post-preview" class="main-content main-frm">364:     <div id="post-preview" class="main-content main-frm">
365:         <div class="post singlepost">365:         <div class="post singlepost">
413: 413: 
414: ?>414: ?>
415:         <div id="req-msg" class="req-warn ct-box error-box">415:         <div id="req-msg" class="req-warn ct-box error-box">
416:             <p class="important"><?php echo $lang_common['Required warn']; ?></p>416:             <p class="important"><?php echo $lang_common['Required warn'] ?></p>
417:         </div>417:         </div>
418:         <form id="afocus" class="frm-form frm-ctrl-submit" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>"<?php if (!empty($forum_page['form_attributes'])) echo ' '.implode(' ', $forum_page['form_attributes']) ?>>418:         <form id="afocus" class="frm-form frm-ctrl-submit" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>"<?php if (!empty($forum_page['form_attributes'])) echo ' '.implode(' ', $forum_page['form_attributes']) ?>>
419:             <div class="hidden">419:             <div class="hidden">
482:                 <div class="txt-set set<?php echo ++$forum_page['item_count'] ?>">482:                 <div class="txt-set set<?php echo ++$forum_page['item_count'] ?>">
483:                     <div class="txt-box textarea required">483:                     <div class="txt-box textarea required">
484:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_post['Write message'] ?></span></label>484:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_post['Write message'] ?></span></label>
485:                         <div class="txt-input"><span class="fld-input"><textarea id="fld<?php echo $forum_page['fld_count'] ?>" name="req_message" rows="14" cols="95" required spellcheck="true"><?php echo isset($_POST['req_message']) ? forum_htmlencode($message) : (isset($forum_page['quote']) ? forum_htmlencode($forum_page['quote']) : ''); ?></textarea></span></div>485:                         <div class="txt-input"><span class="fld-input"><textarea id="fld<?php echo $forum_page['fld_count'] ?>" name="req_message" rows="15" cols="95" required spellcheck="true"><?php echo isset($_POST['req_message']) ? forum_htmlencode($message) : (isset($forum_page['quote']) ? forum_htmlencode($forum_page['quote']) : '') ?></textarea></span></div>
486:                     </div>486:                     </div>
487:                 </div>487:                 </div>
488: <?php488: <?php
517: ?>517: ?>
518:                 <fieldset class="mf-set set<?php echo ++$forum_page['item_count'] ?>">518:                 <fieldset class="mf-set set<?php echo ++$forum_page['item_count'] ?>">
519:                     <div class="mf-box checkbox">519:                     <div class="mf-box checkbox">
520:                         <?php echo implode("\n\t\t\t\t\t", $forum_page['checkboxes'])."\n"; ?>520:                         <?php echo implode("\n\t\t\t\t\t", $forum_page['checkboxes'])."\n" ?>
521:                     </div>521:                     </div>
522: <?php ($hook = get_hook('po_pre_checkbox_fieldset_end')) ? eval($hook) : null; ?>522: <?php ($hook = get_hook('po_pre_checkbox_fieldset_end')) ? eval($hook) : null; ?>
523:                 </fieldset>523:                 </fieldset>
603:         ($hook = get_hook('po_topic_review_row_pre_display')) ? eval($hook) : null;603:         ($hook = get_hook('po_topic_review_row_pre_display')) ? eval($hook) : null;
604: 604: 
605: ?>605: ?>
606:         <div class="post<?php echo ($forum_page['item_count'] == 1) ? ' firstpost' : '' ?><?php echo ($forum_page['item_total'] == $forum_page['item_count']) ? ' lastpost' : '' ?>">606:         <div class="post<?php if ($forum_page['item_count'] == 1) echo ' firstpost'; ?><?php if ($forum_page['item_total'] == $forum_page['item_count']) echo ' lastpost'; ?>">
607:             <div class="posthead">607:             <div class="posthead">
608:                 <h3 class="hn post-ident"><?php echo implode(' ', $forum_page['post_ident']) ?></h3>608:                 <h3 class="hn post-ident"><?php echo implode(' ', $forum_page['post_ident']) ?></h3>
609: <?php ($hook = get_hook('po_topic_review_new_post_head_option')) ? eval($hook) : null; ?>609: <?php ($hook = get_hook('po_topic_review_new_post_head_option')) ? eval($hook) : null; ?>


punbb-1.4.1/profile.php punbb-1.4.2/profile.php
  2: /**  2: /**
  3:  * Allows users to view and edit their details.  3:  * Allows users to view and edit their details.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
123:             $forum_page['crumbs'] = array(123:             $forum_page['crumbs'] = array(
124:                 array($forum_config['o_board_title'], forum_link($forum_url['index'])),124:                 array($forum_config['o_board_title'], forum_link($forum_url['index'])),
125:                 array(sprintf($lang_profile['Users profile'], $user['username'], $lang_profile['Section about']), forum_link($forum_url['profile_about'], $id)),125:                 array(sprintf($lang_profile['Users profile'], $user['username'], $lang_profile['Section about']), forum_link($forum_url['profile_about'], $id)),
126:                 ($forum_page['own_profile']) ? array($lang_profile['Change your password'], forum_link($forum_url['change_password'], $id)) : array(sprintf($lang_profile['Change user password'], forum_htmlencode($user['username'])),forum_link($forum_url['change_password']), $id)126:                 ($forum_page['own_profile']) ? $lang_profile['Change your password'] : sprintf($lang_profile['Change user password'], forum_htmlencode($user['username']))
127:             );127:             );
128: 128: 
129:             ($hook = get_hook('pf_change_pass_key_pre_header_load')) ? eval($hook) : null;129:             ($hook = get_hook('pf_change_pass_key_pre_header_load')) ? eval($hook) : null;
165: 165: 
166: ?>166: ?>
167:         <div id="req-msg" class="req-warn ct-box error-box">167:         <div id="req-msg" class="req-warn ct-box error-box">
168:             <p class="important"><?php echo $lang_common['Required warn']; ?></p>168:             <p class="important"><?php echo $lang_common['Required warn'] ?></p>
169:         </div>169:         </div>
170:         <form id="afocus" class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>" autocomplete="off">170:         <form id="afocus" class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>" autocomplete="off">
171:             <div class="hidden">171:             <div class="hidden">
179:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">179:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
180:                     <div class="sf-box text required">180:                     <div class="sf-box text required">
181:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['New password'] ?></span> <small><?php echo $lang_profile['Password help'] ?></small></label><br />181:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['New password'] ?></span> <small><?php echo $lang_profile['Password help'] ?></small></label><br />
182:                         <span class="fld-input"><input type="<?php echo($forum_config['o_mask_passwords'] == '1' ? 'password' : 'text') ?>" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_new_password1" size="35" value="<?php echo(isset($_POST['req_new_password1']) ? forum_htmlencode($_POST['req_new_password1']) : ''); ?>" required autocomplete="off" /></span><br />182:                         <span class="fld-input"><input type="<?php echo($forum_config['o_mask_passwords'] == '1' ? 'password' : 'text') ?>" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_new_password1" size="35" value="<?php if (isset($_POST['req_new_password1'])) echo forum_htmlencode($_POST['req_new_password1']); ?>" required autocomplete="off" /></span><br />
183:                     </div>183:                     </div>
184:                 </div>184:                 </div>
185: <?php ($hook = get_hook('pf_change_pass_key_pre_new_password_confirm')) ? eval($hook) : null; ?>185: <?php ($hook = get_hook('pf_change_pass_key_pre_new_password_confirm')) ? eval($hook) : null; ?>
187:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">187:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
188:                     <div class="sf-box text required">188:                     <div class="sf-box text required">
189:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Confirm new password'] ?></span> <small><?php echo $lang_profile['Confirm password help'] ?></small></label><br />189:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Confirm new password'] ?></span> <small><?php echo $lang_profile['Confirm password help'] ?></small></label><br />
190:                         <span class="fld-input"><input type="password" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_new_password2" size="35" value="<?php echo(isset($_POST['req_new_password2']) ? forum_htmlencode($_POST['req_new_password2']) : ''); ?>" required autocomplete="off" /></span><br />190:                         <span class="fld-input"><input type="password" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_new_password2" size="35" value="<?php if (isset($_POST['req_new_password2'])) echo forum_htmlencode($_POST['req_new_password2']); ?>" required autocomplete="off" /></span><br />
191:                     </div>191:                     </div>
192:                 </div>192:                 </div>
193: <?php endif; ?>193: <?php endif; ?>
292:     $forum_page['crumbs'] = array(292:     $forum_page['crumbs'] = array(
293:         array($forum_config['o_board_title'], forum_link($forum_url['index'])),293:         array($forum_config['o_board_title'], forum_link($forum_url['index'])),
294:         array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['profile_about'], $id)),294:         array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['profile_about'], $id)),
295:         ($forum_page['own_profile']) ? array($lang_profile['Change your password'], forum_link($forum_url['change_password'], $id)) : array(sprintf($lang_profile['Change user password'], forum_htmlencode($user['username'])),forum_link($forum_url['change_password'], $id))295:         ($forum_page['own_profile']) ? $lang_profile['Change your password'] : sprintf($lang_profile['Change user password'], forum_htmlencode($user['username']))
296:     );296:     );
297: 297: 
298:     ($hook = get_hook('pf_change_pass_normal_pre_header_load')) ? eval($hook) : null;298:     ($hook = get_hook('pf_change_pass_normal_pre_header_load')) ? eval($hook) : null;
334: 334: 
335: ?>335: ?>
336:         <div id="req-msg" class="req-warn ct-box error-box">336:         <div id="req-msg" class="req-warn ct-box error-box">
337:             <p class="important"><?php echo $lang_common['Required warn']; ?></p>337:             <p class="important"><?php echo $lang_common['Required warn'] ?></p>
338:         </div>338:         </div>
339:         <form id="afocus" class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action']  ?>" autocomplete="off">339:         <form id="afocus" class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>" autocomplete="off">
340:             <div class="hidden">340:             <div class="hidden">
341:                 <?php echo implode("\n\t\t\t\t", $forum_page['hidden_fields'])."\n" ?>341:                 <?php echo implode("\n\t\t\t\t", $forum_page['hidden_fields'])."\n" ?>
342:             </div>342:             </div>
348:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">348:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
349:                     <div class="sf-box text required">349:                     <div class="sf-box text required">
350:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Old password'] ?></span> <small><?php echo $lang_profile['Old password help'] ?></small></label><br />350:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Old password'] ?></span> <small><?php echo $lang_profile['Old password help'] ?></small></label><br />
351:                         <span class="fld-input"><input type="<?php echo($forum_config['o_mask_passwords'] == '1' ? 'password' : 'text') ?>" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_old_password" size="35" value="<?php echo(isset($_POST['req_old_password']) ? forum_htmlencode($_POST['req_old_password']) : ''); ?>" required /></span>351:                         <span class="fld-input"><input type="<?php echo($forum_config['o_mask_passwords'] == '1' ? 'password' : 'text') ?>" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_old_password" size="35" value="<?php if (isset($_POST['req_old_password'])) echo forum_htmlencode($_POST['req_old_password']); ?>" required /></span>
352:                     </div>352:                     </div>
353:                 </div>353:                 </div>
354: <?php endif; ($hook = get_hook('pf_change_pass_normal_pre_new_password')) ? eval($hook) : null; ?>354: <?php endif; ($hook = get_hook('pf_change_pass_normal_pre_new_password')) ? eval($hook) : null; ?>
355:                 <div class="sf-set set<?php echo ++$forum_page['item_count']; echo($forum_config['o_mask_passwords'] == '1' ? ' prepend-top' : ''); ?>">355:                 <div class="sf-set set<?php echo ++$forum_page['item_count']; if ($forum_config['o_mask_passwords'] == '1') echo ' prepend-top'; ?>">
356:                     <div class="sf-box text required">356:                     <div class="sf-box text required">
357:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['New password'] ?></span> <small><?php echo $lang_profile['Password help'] ?></small></label><br />357:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['New password'] ?></span> <small><?php echo $lang_profile['Password help'] ?></small></label><br />
358:                         <span class="fld-input"><input type="<?php echo($forum_config['o_mask_passwords'] == '1' ? 'password' : 'text') ?>" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_new_password1" size="35" value="<?php echo(isset($_POST['req_new_password1']) ? forum_htmlencode($_POST['req_new_password1']) : ''); ?>" required /></span><br />358:                         <span class="fld-input"><input type="<?php echo($forum_config['o_mask_passwords'] == '1' ? 'password' : 'text') ?>" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_new_password1" size="35" value="<?php if (isset($_POST['req_new_password1'])) echo forum_htmlencode($_POST['req_new_password1']); ?>" required /></span><br />
359:                     </div>359:                     </div>
360:                 </div>360:                 </div>
361: <?php ($hook = get_hook('pf_change_pass_normal_pre_new_password_confirm')) ? eval($hook) : null; ?>361: <?php ($hook = get_hook('pf_change_pass_normal_pre_new_password_confirm')) ? eval($hook) : null; ?>
363:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">363:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
364:                     <div class="sf-box text required">364:                     <div class="sf-box text required">
365:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Confirm new password'] ?></span> <small><?php echo $lang_profile['Confirm password help'] ?></small></label><br />365:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Confirm new password'] ?></span> <small><?php echo $lang_profile['Confirm password help'] ?></small></label><br />
366:                         <span class="fld-input"><input type="<?php echo($forum_config['o_mask_passwords'] == '1' ? 'password' : 'text') ?>" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_new_password2" size="35" value="<?php echo(isset($_POST['req_new_password2']) ? forum_htmlencode($_POST['req_new_password2']) : ''); ?>" required /></span><br />366:                         <span class="fld-input"><input type="<?php echo($forum_config['o_mask_passwords'] == '1' ? 'password' : 'text') ?>" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_new_password2" size="35" value="<?php if (isset($_POST['req_new_password2'])) echo forum_htmlencode($_POST['req_new_password2']); ?>" required /></span><br />
367:                     </div>367:                     </div>
368:                 </div>368:                 </div>
369: <?php endif; ?>369: <?php endif; ?>
559:     $forum_page['crumbs'] = array(559:     $forum_page['crumbs'] = array(
560:         array($forum_config['o_board_title'], forum_link($forum_url['index'])),560:         array($forum_config['o_board_title'], forum_link($forum_url['index'])),
561:         array(sprintf($lang_profile['Users profile'], $user['username'], $lang_profile['Section about']), forum_link($forum_url['profile_about'], $id)),561:         array(sprintf($lang_profile['Users profile'], $user['username'], $lang_profile['Section about']), forum_link($forum_url['profile_about'], $id)),
562:         ($forum_page['own_profile']) ? array($lang_profile['Change your e-mail'], forum_link($forum_url['change_email'], $id)) : array(sprintf($lang_profile['Change user e-mail'], forum_htmlencode($user['username'])), forum_link($forum_url['change_email'], $id))562:         ($forum_page['own_profile']) ? $lang_profile['Change your e-mail'] : sprintf($lang_profile['Change user e-mail'], forum_htmlencode($user['username']))
563:     );563:     );
564: 564: 
565:     ($hook = get_hook('pf_change_email_normal_pre_header_load')) ? eval($hook) : null;565:     ($hook = get_hook('pf_change_email_normal_pre_header_load')) ? eval($hook) : null;
604: 604: 
605: ?>605: ?>
606:         <div id="req-msg" class="req-warn ct-box error-box">606:         <div id="req-msg" class="req-warn ct-box error-box">
607:             <p class="important"><?php echo $lang_common['Required warn']; ?></p>607:             <p class="important"><?php echo $lang_common['Required warn'] ?></p>
608:         </div>608:         </div>
609:         <form id="afocus" class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">609:         <form id="afocus" class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">
610:             <div class="hidden">610:             <div class="hidden">
617:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">617:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
618:                     <div class="sf-box text required">618:                     <div class="sf-box text required">
619:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['New e-mail'] ?></span></label><br />619:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['New e-mail'] ?></span></label><br />
620:                         <span class="fld-input"><input type="email" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_new_email" size="35" maxlength="80" value="<?php echo(isset($_POST['req_new_email']) ? forum_htmlencode($_POST['req_new_email']) : ''); ?>" required /></span>620:                         <span class="fld-input"><input type="email" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_new_email" size="35" maxlength="80" value="<?php if (isset($_POST['req_new_email'])) echo forum_htmlencode($_POST['req_new_email']); ?>" required /></span>
621:                     </div>621:                     </div>
622:                 </div>622:                 </div>
623: <?php ($hook = get_hook('pf_change_email_normal_pre_password')) ? eval($hook) : null; ?>623: <?php ($hook = get_hook('pf_change_email_normal_pre_password')) ? eval($hook) : null; ?>
624:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">624:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
625:                     <div class="sf-box text required">625:                     <div class="sf-box text required">
626:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Password'] ?></span><small><?php echo $lang_profile['Old password help'] ?></small></label><br />626:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Password'] ?></span><small><?php echo $lang_profile['Old password help'] ?></small></label><br />
627:                         <span class="fld-input"><input type="<?php echo($forum_config['o_mask_passwords'] == '1' ? 'password' : 'text') ?>" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_password" size="35" value="<?php echo(isset($_POST['req_password']) ? forum_htmlencode($_POST['req_password']) : ''); ?>" required autocomplete="off" /></span>627:                         <span class="fld-input"><input type="<?php echo($forum_config['o_mask_passwords'] == '1' ? 'password' : 'text') ?>" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_password" size="35" value="<?php if (isset($_POST['req_password'])) echo forum_htmlencode($_POST['req_password']); ?>" required autocomplete="off" /></span>
628:                     </div>628:                     </div>
629:                 </div>629:                 </div>
630: <?php ($hook = get_hook('pf_change_email_normal_pre_fieldset_end')) ? eval($hook) : null; ?>630: <?php ($hook = get_hook('pf_change_email_normal_pre_fieldset_end')) ? eval($hook) : null; ?>
668: 668: 
669:         delete_user($id, isset($_POST['delete_posts']));669:         delete_user($id, isset($_POST['delete_posts']));
670: 670: 
 671:         // Remove cache file with forum stats
 672:         if (!defined('FORUM_CACHE_FUNCTIONS_LOADED'))
 673:         {
 674:             require FORUM_ROOT.'include/cache.php';
 675:         }
 676: 
 677:         clean_stats_cache();
 678: 
671:         // Add flash message679:         // Add flash message
672:         $forum_flash->add_info($lang_profile['User delete redirect']);680:         $forum_flash->add_info($lang_profile['User delete redirect']);
673: 681: 
690:     $forum_page['crumbs'] = array(698:     $forum_page['crumbs'] = array(
691:         array($forum_config['o_board_title'], forum_link($forum_url['index'])),699:         array($forum_config['o_board_title'], forum_link($forum_url['index'])),
692:         array(sprintf($lang_profile['Users profile'], $user['username'], $lang_profile['Section admin']), forum_link($forum_url['profile_admin'], $id)),700:         array(sprintf($lang_profile['Users profile'], $user['username'], $lang_profile['Section admin']), forum_link($forum_url['profile_admin'], $id)),
693:         array($lang_profile['Delete user'], forum_link($forum_url['delete_user'], $id))701:         $lang_profile['Delete user']
694:     );702:     );
695: 703: 
696:     ($hook = get_hook('pf_delete_user_pre_header_load')) ? eval($hook) : null;704:     ($hook = get_hook('pf_delete_user_pre_header_load')) ? eval($hook) : null;
731:             </fieldset>739:             </fieldset>
732: <?php ($hook = get_hook('pf_delete_user_fieldset_end')) ? eval($hook) : null; ?>740: <?php ($hook = get_hook('pf_delete_user_fieldset_end')) ? eval($hook) : null; ?>
733:             <div class="frm-buttons">741:             <div class="frm-buttons">
734:                 <span class="submit primary"><input type="submit" name="delete_user_comply" value="<?php echo $lang_common['Submit'] ?>" /></span>742:                 <span class="submit primary caution"><input type="submit" name="delete_user_comply" value="<?php echo $lang_profile['Delete user'] ?>" /></span>
735:                 <span class="cancel"><input type="submit" name="cancel" value="<?php echo $lang_common['Cancel'] ?>" formnovalidate /></span>743:                 <span class="cancel"><input type="submit" name="cancel" value="<?php echo $lang_common['Cancel'] ?>" formnovalidate /></span>
736:             </div>744:             </div>
737:         </form>745:         </form>
964:             }972:             }
965: 973: 
966:             // Add http:// if the URL doesn't contain it or https:// already974:             // Add http:// if the URL doesn't contain it or https:// already
967:             if ($form['url'] != '' && strpos(strtolower($form['url']), 'http://') !== 0  && strpos(strtolower($form['url']), 'https://') !== 0)975:             if ($form['url'] != '' && strpos(strtolower($form['url']), 'http://') !== 0 && strpos(strtolower($form['url']), 'https://') !== 0)
968:                 $form['url'] = 'http://'.$form['url'];976:                 $form['url'] = 'http://'.$form['url'];
969: 977: 
970:             // Add http:// if the LinkedIn doesn't contain it or https:// already978:             // Add http:// if the LinkedIn doesn't contain it or https:// already
971:             if ($form['linkedin'] != '' && strpos(strtolower($form['linkedin']), 'http://') !== 0  && strpos(strtolower($form['linkedin']), 'https://') !== 0)979:             if ($form['linkedin'] != '' && strpos(strtolower($form['linkedin']), 'http://') !== 0 && strpos(strtolower($form['linkedin']), 'https://') !== 0)
972:                 $form['linkedin'] = 'http://'.$form['linkedin'];980:                 $form['linkedin'] = 'http://'.$form['linkedin'];
973: 981: 
974:             // If the ICQ UIN contains anything other than digits it's invalid982:             // If the ICQ UIN contains anything other than digits it's invalid
1110: 1118: 
1111:             if (is_uploaded_file($uploaded_file['tmp_name']) && empty($errors))1119:             if (is_uploaded_file($uploaded_file['tmp_name']) && empty($errors))
1112:             {1120:             {
 1121:                 // First check simple by size and mime type
 1122:                 $allowed_mime_types = array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png');
1113:                 $allowed_types = array(IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_GIF);1123:                 $allowed_types = array(IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_GIF);
1114: 1124: 
1115:                 ($hook = get_hook('pf_change_details_avatar_allowed_types')) ? eval($hook) : null;1125:                 ($hook = get_hook('pf_change_details_avatar_allowed_types')) ? eval($hook) : null;
1116: 1126: 
1117:                 list($width, $height, $type,) = @/**/getimagesize($uploaded_file['tmp_name']);1127:                 if (!in_array($uploaded_file['type'], $allowed_mime_types))
1118:  
1119:                 if (!in_array($type, $allowed_types)) 
1120:                     $errors[] = $lang_profile['Bad type'];1128:                     $errors[] = $lang_profile['Bad type'];
1121:                 else1129:                 else
1122:                 {1130:                 {
1127: 1135: 
1128:                 if (empty($errors))1136:                 if (empty($errors))
1129:                 {1137:                 {
1130:                     // Determine type1138:                     $avatar_tmp_file = $forum_config['o_avatars_dir'].'/'.$id.'.tmp';
1131:                     $extension = null; 
1132:                     $avatar_type = FORUM_AVATAR_NONE; 
1133:                     if ($type == IMAGETYPE_GIF) 
1134:                     { 
1135:                         $extension = '.gif'; 
1136:                         $avatar_type = FORUM_AVATAR_GIF; 
1137:                     } 
1138:                     else if ($type == IMAGETYPE_JPEG) 
1139:                     { 
1140:                         $extension = '.jpg'; 
1141:                         $avatar_type = FORUM_AVATAR_JPG; 
1142:                     } 
1143:                     else if ($type == IMAGETYPE_PNG) 
1144:                     { 
1145:                         $extension = '.png'; 
1146:                         $avatar_type = FORUM_AVATAR_PNG; 
1147:                     } 
1148:  
1149:                     ($hook = get_hook('pf_change_details_avatar_determine_extension')) ? eval($hook) : null; 
1150: 1139: 
1151:                     // Move the file to the avatar directory. We do this before checking the width/height to circumvent open_basedir restrictions.1140:                     // Move the file to the avatar directory. We do this before checking the width/height to circumvent open_basedir restrictions.
1152:                     if (!@move_uploaded_file($uploaded_file['tmp_name'], $forum_config['o_avatars_dir'].'/'.$id.'.tmp'))1141:                     if (!@move_uploaded_file($uploaded_file['tmp_name'], $avatar_tmp_file))
1153:                         $errors[] = sprintf($lang_profile['Move failed'], '<a href="mailto:'.forum_htmlencode($forum_config['o_admin_email']).'">'.forum_htmlencode($forum_config['o_admin_email']).'</a>');1142:                         $errors[] = sprintf($lang_profile['Move failed'], '<a href="mailto:'.forum_htmlencode($forum_config['o_admin_email']).'">'.forum_htmlencode($forum_config['o_admin_email']).'</a>');
1154: 1143: 
1155:                     if (empty($errors))1144:                     if (empty($errors))
1156:                     {1145:                     {
1157:                         ($hook = get_hook('pf_change_details_avatar_modify_size')) ? eval($hook) : null;1146:                         ($hook = get_hook('pf_change_details_avatar_modify_size')) ? eval($hook) : null;
1158: 1147: 
1159:                         // Now check the width/height1148:                         // Now check the width, height, type
 1149:                         list($width, $height, $type,) = @/**/getimagesize($avatar_tmp_file);
1160:                         if (empty($width) || empty($height) || $width > $forum_config['o_avatars_width'] || $height > $forum_config['o_avatars_height'])1150:                         if (empty($width) || empty($height) || $width > $forum_config['o_avatars_width'] || $height > $forum_config['o_avatars_height'])
1161:                         {1151:                         {
1162:                             @unlink($forum_config['o_avatars_dir'].'/'.$id.'.tmp');1152:                             @unlink($avatar_tmp_file);
1163:                             $errors[] = sprintf($lang_profile['Too wide or high'], $forum_config['o_avatars_width'], $forum_config['o_avatars_height']);1153:                             $errors[] = sprintf($lang_profile['Too wide or high'], $forum_config['o_avatars_width'], $forum_config['o_avatars_height']);
1164:                         }1154:                         }
1165:                         else if ($type == 1 && $uploaded_file['type'] != 'image/gif')    // Prevent dodgy uploads1155:                         else if ($type == IMAGETYPE_GIF && $uploaded_file['type'] != 'image/gif')    // Prevent dodgy uploads
1166:                         {1156:                         {
1167:                             @unlink($forum_config['o_avatars_dir'].'/'.$id.'.tmp');1157:                             @unlink($avatar_tmp_file);
 1158:                             $errors[] = $lang_profile['Bad type'];
 1159:                         }
 1160: 
 1161:                         // Determine type
 1162:                         $extension = null;
 1163:                         $avatar_type = FORUM_AVATAR_NONE;
 1164:                         if ($type == IMAGETYPE_GIF)
 1165:                         {
 1166:                             $extension = '.gif';
 1167:                             $avatar_type = FORUM_AVATAR_GIF;
 1168:                         }
 1169:                         else if ($type == IMAGETYPE_JPEG)
 1170:                         {
 1171:                             $extension = '.jpg';
 1172:                             $avatar_type = FORUM_AVATAR_JPG;
 1173:                         }
 1174:                         else if ($type == IMAGETYPE_PNG)
 1175:                         {
 1176:                             $extension = '.png';
 1177:                             $avatar_type = FORUM_AVATAR_PNG;
 1178:                         }
 1179: 
 1180:                         ($hook = get_hook('pf_change_details_avatar_determine_extension')) ? eval($hook) : null;
 1181: 
 1182:                         // Check type from getimagesize type format
 1183:                         if (!in_array($avatar_type, $allowed_types) || empty($extension))
 1184:                         {
 1185:                             @unlink($avatar_tmp_file);
1168:                             $errors[] = $lang_profile['Bad type'];1186:                             $errors[] = $lang_profile['Bad type'];
1169:                         }1187:                         }
1170: 1188: 
1176:                             delete_avatar($id);1194:                             delete_avatar($id);
1177: 1195: 
1178:                             // Put the new avatar in its place1196:                             // Put the new avatar in its place
1179:                             @rename($forum_config['o_avatars_dir'].'/'.$id.'.tmp', $forum_config['o_avatars_dir'].'/'.$id.$extension);1197:                             @rename($avatar_tmp_file, $forum_config['o_avatars_dir'].'/'.$id.$extension);
1180:                             @chmod($forum_config['o_avatars_dir'].'/'.$id.$extension, 0644);1198:                             @chmod($forum_config['o_avatars_dir'].'/'.$id.$extension, 0644);
1181: 1199: 
1182:                             // Avatar1200:                             // Avatar
1374: 1392: 
1375:     ($hook = get_hook('pf_view_details_selected')) ? eval($hook) : null;1393:     ($hook = get_hook('pf_view_details_selected')) ? eval($hook) : null;
1376: 1394: 
1377:     $forum_page['user_ident']['username'] = '<li class="username'.(($user['realname'] =='') ? ' fn nickname' :  ' nickname').'"><strong>'.forum_htmlencode($user['username']).'</strong></li>';1395:     $forum_page['user_ident']['username'] = '<li class="username'.(($user['realname'] =='') ? ' fn nickname' : ' nickname').'"><strong>'.forum_htmlencode($user['username']).'</strong></li>';
1378: 1396: 
1379:     if ($forum_config['o_avatars'] == '1')1397:     if ($forum_config['o_avatars'] == '1')
1380:     {1398:     {
1515:     // Setup breadcrumbs1533:     // Setup breadcrumbs
1516:     $forum_page['crumbs'] = array(1534:     $forum_page['crumbs'] = array(
1517:         array($forum_config['o_board_title'], forum_link($forum_url['index'])),1535:         array($forum_config['o_board_title'], forum_link($forum_url['index'])),
1518:         array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id))1536:         sprintf($lang_profile['Users profile'], $user['username'])
1519:     );1537:     );
1520: 1538: 
1521:     $forum_page['group_count'] = $forum_page['item_count'] = $forum_page['fld_count'] = 0;1539:     $forum_page['group_count'] = $forum_page['item_count'] = $forum_page['fld_count'] = 0;
1597:     // Setup breadcrumbs1615:     // Setup breadcrumbs
1598:     $forum_page['crumbs'] = array(1616:     $forum_page['crumbs'] = array(
1599:         array($forum_config['o_board_title'], forum_link($forum_url['index'])),1617:         array($forum_config['o_board_title'], forum_link($forum_url['index'])),
1600:         array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id))1618:         sprintf($lang_profile['Users profile'], $user['username'])
1601:     );1619:     );
1602: 1620: 
1603:     // Is this users own profile1621:     // Is this users own profile
1605: 1623: 
1606:     // Setup navigation menu1624:     // Setup navigation menu
1607:     $forum_page['main_menu'] = array();1625:     $forum_page['main_menu'] = array();
1608:     $forum_page['main_menu']['about'] = '<li class="first-item'.(($section == 'about')  ? ' active' : '').'"><a href="'.forum_link($forum_url['profile_about'], $id).'"><span>'.$lang_profile['Section about'].'</span></a></li>';1626:     $forum_page['main_menu']['about'] = '<li class="first-item'.(($section == 'about') ? ' active' : '').'"><a href="'.forum_link($forum_url['profile_about'], $id).'"><span>'.$lang_profile['Section about'].'</span></a></li>';
1609:     $forum_page['main_menu']['identity'] = '<li'.(($section == 'identity')  ? ' class="active"' : '').'><a href="'.forum_link($forum_url['profile_identity'], $id).'"><span>'.$lang_profile['Section identity'].'</span></a></li>';1627:     $forum_page['main_menu']['identity'] = '<li'.(($section == 'identity') ? ' class="active"' : '').'><a href="'.forum_link($forum_url['profile_identity'], $id).'"><span>'.$lang_profile['Section identity'].'</span></a></li>';
1610:     $forum_page['main_menu']['settings'] = '<li'.(($section == 'settings') ? ' class="active"' : '').'><a href="'.forum_link($forum_url['profile_settings'], $id).'"><span>'.$lang_profile['Section settings'].'</span></a></li>';1628:     $forum_page['main_menu']['settings'] = '<li'.(($section == 'settings') ? ' class="active"' : '').'><a href="'.forum_link($forum_url['profile_settings'], $id).'"><span>'.$lang_profile['Section settings'].'</span></a></li>';
1611: 1629: 
1612:     if ($forum_config['o_signatures'] == '1')1630:     if ($forum_config['o_signatures'] == '1')
1627:         $forum_page['crumbs'] = array(1645:         $forum_page['crumbs'] = array(
1628:             array($forum_config['o_board_title'], forum_link($forum_url['index'])),1646:             array($forum_config['o_board_title'], forum_link($forum_url['index'])),
1629:             array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id)),1647:             array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id)),
1630:             array(sprintf($lang_profile['Section about']), forum_link($forum_url['profile_about'], $id)),1648:             sprintf($lang_profile['Section about'])
1631:         );1649:         );
1632: 1650: 
1633:         // Setup user identification1651:         // Setup user identification
1635: 1653: 
1636:         ($hook = get_hook('pf_change_details_about_selected')) ? eval($hook) : null;1654:         ($hook = get_hook('pf_change_details_about_selected')) ? eval($hook) : null;
1637: 1655: 
1638:         $forum_page['user_ident']['username'] = '<li class="username'.(($user['realname'] =='') ? ' fn nickname' :  ' nickname').'"><strong>'.forum_htmlencode($user['username']).'</strong></li>';1656:         $forum_page['user_ident']['username'] = '<li class="username'.(($user['realname'] =='') ? ' fn nickname' : ' nickname').'"><strong>'.forum_htmlencode($user['username']).'</strong></li>';
1639: 1657: 
1640:         if ($forum_config['o_avatars'] == '1')1658:         if ($forum_config['o_avatars'] == '1')
1641:         {1659:         {
1663:         $forum_page['user_info']['lastvisit'] = '<li><span>'.$lang_profile['Last visit'].': <strong> '.format_time($user['last_visit']).'</strong></span></li>';1681:         $forum_page['user_info']['lastvisit'] = '<li><span>'.$lang_profile['Last visit'].': <strong> '.format_time($user['last_visit']).'</strong></span></li>';
1664:         $forum_page['user_info']['lastpost'] = '<li><span>'.$lang_profile['Last post'].': <strong> '.format_time($user['last_post']).'</strong></span></li>';1682:         $forum_page['user_info']['lastpost'] = '<li><span>'.$lang_profile['Last post'].': <strong> '.format_time($user['last_post']).'</strong></span></li>';
1665: 1683: 
1666:          if ($forum_config['o_show_post_count'] == '1' || $forum_user['is_admmod'])1684:         if ($forum_config['o_show_post_count'] == '1' || $forum_user['is_admmod'])
1667:             $forum_page['user_info']['posts'] = '<li><span>'.$lang_profile['Posts'].': <strong>'.forum_number_format($user['num_posts']).'</strong></span></li>';1685:             $forum_page['user_info']['posts'] = '<li><span>'.$lang_profile['Posts'].': <strong>'.forum_number_format($user['num_posts']).'</strong></span></li>';
1668:         else1686:         else
1669:             $forum_page['user_private']['posts'] = '<li><span>'.$lang_profile['Posts'].': <strong>'.forum_number_format($user['num_posts']).'</strong></span></li>';1687:             $forum_page['user_private']['posts'] = '<li><span>'.$lang_profile['Posts'].': <strong>'.forum_number_format($user['num_posts']).'</strong></span></li>';
1798:         if (($forum_page['own_profile'] || $forum_user['g_id'] == FORUM_ADMIN) && $forum_config['o_subscriptions'] == '1')1816:         if (($forum_page['own_profile'] || $forum_user['g_id'] == FORUM_ADMIN) && $forum_config['o_subscriptions'] == '1')
1799:         {1817:         {
1800:             // Topic subscriptions1818:             // Topic subscriptions
1801:              $forum_page['user_activity']['search_subs'] = '<li'.(empty($forum_page['user_activity']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search_subscriptions'], $id).'">'.(($forum_page['own_profile']) ? $lang_profile['View your subscriptions'] : sprintf($lang_profile['View user subscriptions'], forum_htmlencode($user['username']))).'</a></li>';1819:             $forum_page['user_activity']['search_subs'] = '<li'.(empty($forum_page['user_activity']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search_subscriptions'], $id).'">'.(($forum_page['own_profile']) ? $lang_profile['View your subscriptions'] : sprintf($lang_profile['View user subscriptions'], forum_htmlencode($user['username']))).'</a></li>';
1802: 1820: 
1803:              // Forum subscriptions1821:             // Forum subscriptions
1804:              $forum_page['user_activity']['search_forum_subs'] = '<li'.(empty($forum_page['user_activity']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search_forum_subscriptions'], $id).'">'.(($forum_page['own_profile']) ? $lang_profile['View your forum subscriptions'] : sprintf($lang_profile['View user forum subscriptions'], forum_htmlencode($user['username']))).'</a></li>';1822:             $forum_page['user_activity']['search_forum_subs'] = '<li'.(empty($forum_page['user_activity']) ? ' class="first-item"' : '').'><a href="'.forum_link($forum_url['search_forum_subscriptions'], $id).'">'.(($forum_page['own_profile']) ? $lang_profile['View your forum subscriptions'] : sprintf($lang_profile['View user forum subscriptions'], forum_htmlencode($user['username']))).'</a></li>';
1805:         }1823:         }
1806: 1824: 
1807:         // Setup user options1825:         // Setup user options
1905:         $forum_page['crumbs'] = array(1923:         $forum_page['crumbs'] = array(
1906:             array($forum_config['o_board_title'], forum_link($forum_url['index'])),1924:             array($forum_config['o_board_title'], forum_link($forum_url['index'])),
1907:             array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id)),1925:             array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id)),
1908:             array($lang_profile['Section identity'],forum_link($forum_url['profile_identity'], $id))1926:             $lang_profile['Section identity']
1909:         );1927:         );
1910:         // Setup the form1928:         // Setup the form
1911:         $forum_page['group_count'] = $forum_page['item_count'] = $forum_page['fld_count'] = 0;1929:         $forum_page['group_count'] = $forum_page['item_count'] = $forum_page['fld_count'] = 0;
1961: 1979: 
1962: if ($forum_page['has_required']): ?>1980: if ($forum_page['has_required']): ?>
1963:         <div id="req-msg" class="req-warn ct-box error-box">1981:         <div id="req-msg" class="req-warn ct-box error-box">
1964:             <p class="important"><?php echo $lang_common['Required warn']; ?></p>1982:             <p class="important"><?php echo $lang_common['Required warn'] ?></p>
1965:         </div>1983:         </div>
1966: <?php endif; ?>1984: <?php endif; ?>
1967:         <form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">1985:         <form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">
2114:             </fieldset>2132:             </fieldset>
2115: <?php ($hook = get_hook('pf_change_details_identity_contact_fieldset_end')) ? eval($hook) : null; ?>2133: <?php ($hook = get_hook('pf_change_details_identity_contact_fieldset_end')) ? eval($hook) : null; ?>
2116:             <div class="frm-buttons">2134:             <div class="frm-buttons">
2117:                 <span class="submit"><input type="submit" name="update" value="<?php echo $lang_profile['Update profile'] ?>" /></span>2135:                 <span class="submit primary"><input type="submit" name="update" value="<?php echo $lang_profile['Update profile'] ?>" /></span>
2118:             </div>2136:             </div>
2119:         </form>2137:         </form>
2120:     </div>2138:     </div>
2154:         $forum_page['crumbs'] = array(2172:         $forum_page['crumbs'] = array(
2155:             array($forum_config['o_board_title'], forum_link($forum_url['index'])),2173:             array($forum_config['o_board_title'], forum_link($forum_url['index'])),
2156:             array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id)),2174:             array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id)),
2157:             array($lang_profile['Section settings'],forum_link($forum_url['profile_settings'], $id))2175:             $lang_profile['Section settings']
2158:         );2176:         );
2159: 2177: 
2160:         // Setup the form2178:         // Setup the form
2181:         <h2 class="hn"><span><?php printf(($forum_page['own_profile']) ? $lang_profile['Settings welcome'] : $lang_profile['Settings welcome user'], forum_htmlencode($user['username'])) ?></span></h2>2199:         <h2 class="hn"><span><?php printf(($forum_page['own_profile']) ? $lang_profile['Settings welcome'] : $lang_profile['Settings welcome user'], forum_htmlencode($user['username'])) ?></span></h2>
2182:     </div>2200:     </div>
2183:     <div class="main-content main-frm">2201:     <div class="main-content main-frm">
2184:         <form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action']  ?>">2202:         <form class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">
2185:             <div class="hidden">2203:             <div class="hidden">
2186:                 <?php echo implode("\n\t\t\t\t", $forum_page['hidden_fields'])."\n" ?>2204:                 <?php echo implode("\n\t\t\t\t", $forum_page['hidden_fields'])."\n" ?>
2187:             </div>2205:             </div>
2272: <?php ($hook = get_hook('pf_change_details_settings_pre_dst_checkbox')) ? eval($hook) : null; ?>2290: <?php ($hook = get_hook('pf_change_details_settings_pre_dst_checkbox')) ? eval($hook) : null; ?>
2273:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">2291:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
2274:                     <div class="sf-box checkbox">2292:                     <div class="sf-box checkbox">
2275:                         <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="form[dst]" value="1" <?php if ($user['dst'] == 1) echo 'checked="checked" ' ?>/></span>2293:                         <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="form[dst]" value="1"<?php if ($user['dst'] == 1) echo ' checked="checked"' ?> /></span>
2276:                         <label for="fld<?php echo $forum_page['fld_count'] ?>"><?php echo $lang_profile['DST label'] ?></label>2294:                         <label for="fld<?php echo $forum_page['fld_count'] ?>"><?php echo $lang_profile['DST label'] ?></label>
2277:                     </div>2295:                     </div>
2278:                 </div>2296:                 </div>
2473: <?php $forum_page['item_count'] = 0; ?>2491: <?php $forum_page['item_count'] = 0; ?>
2474: <?php ($hook = get_hook('pf_change_details_settings_email_fieldset_end')) ? eval($hook) : null; ?>2492: <?php ($hook = get_hook('pf_change_details_settings_email_fieldset_end')) ? eval($hook) : null; ?>
2475:             <div class="frm-buttons">2493:             <div class="frm-buttons">
2476:                 <span class="submit"><input type="submit" name="update" value="<?php echo $lang_profile['Update profile'] ?>" /></span>2494:                 <span class="submit primary"><input type="submit" name="update" value="<?php echo $lang_profile['Update profile'] ?>" /></span>
2477:             </div>2495:             </div>
2478:         </form>2496:         </form>
2479:     </div>2497:     </div>
2500:         $forum_page['crumbs'] = array(2518:         $forum_page['crumbs'] = array(
2501:             array($forum_config['o_board_title'], forum_link($forum_url['index'])),2519:             array($forum_config['o_board_title'], forum_link($forum_url['index'])),
2502:             array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id)),2520:             array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id)),
2503:             array($lang_profile['Section signature'], forum_link($forum_url['profile_signature'], $id))2521:             $lang_profile['Section signature']
2504:         );2522:         );
2505: 2523: 
2506:         // Setup the form2524:         // Setup the form
2562:         }2580:         }
2563: 2581: 
2564: ?>2582: ?>
2565:         <form id="afocus" class="frm-form" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">2583:         <form id="afocus" class="frm-form frm-ctrl-submit" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>">
2566:             <div class="hidden">2584:             <div class="hidden">
2567:                 <?php echo implode("\n\t\t\t\t", $forum_page['hidden_fields'])."\n" ?>2585:                 <?php echo implode("\n\t\t\t\t", $forum_page['hidden_fields'])."\n" ?>
2568:             </div>2586:             </div>
2588:             </fieldset>2606:             </fieldset>
2589: <?php ($hook = get_hook('pf_change_details_signature_fieldset_end')) ? eval($hook) : null; ?>2607: <?php ($hook = get_hook('pf_change_details_signature_fieldset_end')) ? eval($hook) : null; ?>
2590:             <div class="frm-buttons">2608:             <div class="frm-buttons">
2591:                 <span class="submit"><input type="submit" name="update" value="<?php echo $lang_profile['Update profile'] ?>" /></span>2609:                 <span class="submit primary"><input type="submit" name="update" value="<?php echo $lang_profile['Update profile'] ?>" /></span>
2592:             </div>2610:             </div>
2593:         </form>2611:         </form>
2594:     </div>2612:     </div>
2612:         $forum_page['crumbs'] = array(2630:         $forum_page['crumbs'] = array(
2613:             array($forum_config['o_board_title'], forum_link($forum_url['index'])),2631:             array($forum_config['o_board_title'], forum_link($forum_url['index'])),
2614:             array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id)),2632:             array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id)),
2615:             array($lang_profile['Section avatar'],forum_link($forum_url['profile_avatar'], $id))2633:             $lang_profile['Section avatar']
2616:         );2634:         );
2617: 2635: 
2618:         // Setup the form2636:         // Setup the form
2691:                 </ul>2709:                 </ul>
2692:             </div>2710:             </div>
2693:             <div id="req-msg" class="req-warn ct-box info-box">2711:             <div id="req-msg" class="req-warn ct-box info-box">
2694:                 <p class="important"><?php echo $lang_profile['No upload warn'] ?></p>2712:                 <p class="important"><?php echo $lang_profile['No upload warn'] ?></p>
2695:                </div>2713:             </div>
2696:             <fieldset class="frm-group group<?php echo ++$forum_page['group_count'] ?>">2714:             <fieldset class="frm-group group<?php echo ++$forum_page['group_count'] ?>">
2697:                 <legend class="group-legend"><strong><?php echo $lang_profile['Avatar'] ?></strong></legend>2715:                 <legend class="group-legend"><strong><?php echo $lang_profile['Avatar'] ?></strong></legend>
2698: <?php ($hook = get_hook('pf_change_details_avatar_pre_cur_avatar_info')) ? eval($hook) : null; ?>2716: <?php ($hook = get_hook('pf_change_details_avatar_pre_cur_avatar_info')) ? eval($hook) : null; ?>
2716:             </fieldset>2734:             </fieldset>
2717: <?php ($hook = get_hook('pf_change_details_avatar_fieldset_end')) ? eval($hook) : null; ?>2735: <?php ($hook = get_hook('pf_change_details_avatar_fieldset_end')) ? eval($hook) : null; ?>
2718:             <div class="frm-buttons">2736:             <div class="frm-buttons">
2719:                 <span class="submit"><input type="submit" name="update" value="<?php echo $lang_profile['Update profile'] ?>" /></span>2737:                 <span class="submit primary"><input type="submit" name="update" value="<?php echo $lang_profile['Update profile'] ?>" /></span>
2720:             </div>2738:             </div>
2721:         </form>2739:         </form>
2722:     </div>2740:     </div>
2741:         $forum_page['crumbs'] = array(2759:         $forum_page['crumbs'] = array(
2742:             array($forum_config['o_board_title'], forum_link($forum_url['index'])),2760:             array($forum_config['o_board_title'], forum_link($forum_url['index'])),
2743:             array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id)),2761:             array(sprintf($lang_profile['Users profile'], $user['username']), forum_link($forum_url['user'], $id)),
2744:             array($lang_profile['Section admin'],forum_link($forum_url['profile_admin'], $id))2762:             $lang_profile['Section admin']
2745:         );2763:         );
2746: 2764: 
2747:         // Setup form2765:         // Setup form
2831: <?php ($hook = get_hook('pf_change_details_admin_pre_group_membership_submit')) ? eval($hook) : null; ?>2849: <?php ($hook = get_hook('pf_change_details_admin_pre_group_membership_submit')) ? eval($hook) : null; ?>
2832:             <div class="sf-set button-set set<?php echo ++$forum_page['item_count'] ?>">2850:             <div class="sf-set button-set set<?php echo ++$forum_page['item_count'] ?>">
2833:                 <div class="sf-box text">2851:                 <div class="sf-box text">
2834:                      <span class="submit"><input type="submit" name="update_group_membership" value="<?php echo $lang_profile['Update groups'] ?>" /></span>2852:                     <span class="submit primary"><input type="submit" name="update_group_membership" value="<?php echo $lang_profile['Update groups'] ?>" /></span>
2835:                  </div>2853:                 </div>
2836:             </div>2854:             </div>
2837: <?php2855: <?php
2838: 2856: 
2897: <?php ($hook = get_hook('pf_change_details_admin_mod_assignment_fieldset_end')) ? eval($hook) : null; ?>2915: <?php ($hook = get_hook('pf_change_details_admin_mod_assignment_fieldset_end')) ? eval($hook) : null; ?>
2898:             <div class="mf-set button-set set<?php echo ++$forum_page['item_count'] ?>">2916:             <div class="mf-set button-set set<?php echo ++$forum_page['item_count'] ?>">
2899:                 <div class="mf-box text">2917:                 <div class="mf-box text">
2900:                     <span class="submit"><input type="submit" name="update_forums" value="<?php echo $lang_profile['Update forums'] ?>" /></span>2918:                     <span class="submit primary"><input type="submit" name="update_forums" value="<?php echo $lang_profile['Update forums'] ?>" /></span>
2901:                 </div>2919:                 </div>
2902:             </div>2920:             </div>
2903: <?php2921: <?php
2908: ?>2926: ?>
2909:         </div>2927:         </div>
2910:         <div class="frm-buttons">2928:         <div class="frm-buttons">
2911:             <span class="submit"><?php echo $lang_profile['Instructions'] ?></span>2929:             <span class="submit primary"><?php echo $lang_profile['Instructions'] ?></span>
2912:         </div>2930:         </div>
2913:     </div>2931:     </div>
2914:     </form>2932:     </form>


punbb-1.4.1/README punbb-1.4.2/README
 24:  2. Replace your old 1.2 directory with the contents of the archive's version 1.4. 24:  2. Replace your old 1.2 directory with the contents of the archive's version 1.4.
 25:  3. Run db_update.php from the forum admin directory (e.g. open http://example.com/punbb/admin/db_update.php in your browser). Follow the instructions. 25:  3. Run db_update.php from the forum admin directory (e.g. open http://example.com/punbb/admin/db_update.php in your browser). Follow the instructions.
 26:  26: 
 27:       Upgrade from 1.3 27:      Upgrade from 1.3
 28:     ---------------------------------------------- 28:     ----------------------------------------------
 29: NOTE: Make a backup of your current forum directory before proceeding. Also, don't forget to make a backup of your forum database. Use the tool mysqldump for MySQL and pg_dump if you are using PostgreSQL. If you're using SQLite, just make a backup copy of the SQLite database file. You can also make database backups via most administration tools such as MySQL Administrator, phpMyAdmin and phpPgAdmin. 29: NOTE: Make a backup of your current forum directory before proceeding. Also, don't forget to make a backup of your forum database. Use the tool mysqldump for MySQL and pg_dump if you are using PostgreSQL. If you're using SQLite, just make a backup copy of the SQLite database file. You can also make database backups via most administration tools such as MySQL Administrator, phpMyAdmin and phpPgAdmin.
 30:  30: 
 68:  68: 
 69:      Copyright and disclaimer 69:      Copyright and disclaimer
 70:     -------------------------- 70:     --------------------------
 71: This package and its contents are (C) 2002-2011 PunBB, all rights reserved. 71: This package and its contents are (C) 2002-2012 PunBB, all rights reserved.
 72: Partially based on code (C) 2008-2009 FluxBB.org. 72: Partially based on code (C) 2008-2009 FluxBB.org.
 73:  73: 
 74: 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. 74: 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-1.4.1/README.md punbb-1.4.2/README.md
 35:  - [Reporting PunBB core SECURITY bugs (only!)](http://punbb.informer.com/bugreport.php) 35:  - [Reporting PunBB core SECURITY bugs (only!)](http://punbb.informer.com/bugreport.php)
 36:  36: 
 37: ## Copyright and disclaimer 37: ## Copyright and disclaimer
 38: This package and its contents are (C) 2002-2011 PunBB, all rights reserved. 38: This package and its contents are (C) 2002-2012 PunBB, all rights reserved.
 39: Partially based on code (C) 2008-2009 FluxBB.org. 39: Partially based on code (C) 2008-2009 FluxBB.org.
 40:  40: 
 41: 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. 41: 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-1.4.1/register.php punbb-1.4.2/register.php
  2: /**  2: /**
  3:  * Allows the creation of new user accounts.  3:  * Allows the creation of new user accounts.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 71:         <h2 class="hn"><span><?php echo $lang_profile['Reg rules head'] ?></span></h2> 71:         <h2 class="hn"><span><?php echo $lang_profile['Reg rules head'] ?></span></h2>
 72:     </div> 72:     </div>
 73:     <div class="main-content main-frm"> 73:     <div class="main-content main-frm">
 74:         <div class="ct-box user-box"> 74:         <div id="rules-content" class="ct-box user-box">
 75:             <?php echo $forum_config['o_rules_message'] ?> 75:             <?php echo $forum_config['o_rules_message'] ?>
 76:         </div> 76:         </div>
 77:         <form class="frm-form" method="get" accept-charset="utf-8" action="<?php echo forum_link($forum_url['register']) ?>"> 77:         <form class="frm-form" method="get" accept-charset="utf-8" action="<?php echo forum_link($forum_url['register']) ?>">
 80: <?php ($hook = get_hook('rg_rules_pre_agree_checkbox')) ? eval($hook) : null; ?> 80: <?php ($hook = get_hook('rg_rules_pre_agree_checkbox')) ? eval($hook) : null; ?>
 81:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>"> 81:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
 82:                     <div class="sf-box checkbox"> 82:                     <div class="sf-box checkbox">
 83:                         <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="req_agreement" value="1" /></span> 83:                         <span class="fld-input"><input type="checkbox" id="fld<?php echo ++$forum_page['fld_count'] ?>" name="req_agreement" value="1" required /></span>
 84:                         <label for="fld<?php echo $forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Agreement'] ?></span> <?php echo $lang_profile['Agreement label'] ?></label> 84:                         <label for="fld<?php echo $forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Agreement'] ?></span> <?php echo $lang_profile['Agreement label'] ?></label>
 85:                     </div> 85:                     </div>
 86:                 </div> 86:                 </div>
272: 272: 
273:             // Must the user verify the registration or do we log him/her in right now?273:             // Must the user verify the registration or do we log him/her in right now?
274:             if ($forum_config['o_regs_verify'] == '1')274:             if ($forum_config['o_regs_verify'] == '1')
 275:             {
275:                 message(sprintf($lang_profile['Reg e-mail'], '<a href="mailto:'.forum_htmlencode($forum_config['o_admin_email']).'">'.forum_htmlencode($forum_config['o_admin_email']).'</a>'));276:                 message(sprintf($lang_profile['Reg e-mail'], '<a href="mailto:'.forum_htmlencode($forum_config['o_admin_email']).'">'.forum_htmlencode($forum_config['o_admin_email']).'</a>'));
 277:             }
 278:             else
 279:             {
 280:                 // Remove cache file with forum stats
 281:                 if (!defined('FORUM_CACHE_FUNCTIONS_LOADED'))
 282:                 {
 283:                     require FORUM_ROOT.'include/cache.php';
 284:                 }
 285: 
 286:                 clean_stats_cache();
 287:             }
276: 288: 
277:             $expire = time() + $forum_config['o_timeout_visit'];289:             $expire = time() + $forum_config['o_timeout_visit'];
278: 290: 
295: // Setup breadcrumbs307: // Setup breadcrumbs
296: $forum_page['crumbs'] = array(308: $forum_page['crumbs'] = array(
297:     array($forum_config['o_board_title'], forum_link($forum_url['index'])),309:     array($forum_config['o_board_title'], forum_link($forum_url['index'])),
298:     array(sprintf($lang_profile['Register at'], $forum_config['o_board_title']), forum_link($forum_url['register'])),310:     sprintf($lang_profile['Register at'], $forum_config['o_board_title'])
299:  
300: );311: );
301: 312: 
302: // Load JS for timezone detection313: // Load JS for timezone detection
350: 361: 
351: ?>362: ?>
352:         <div id="req-msg" class="req-warn ct-box error-box">363:         <div id="req-msg" class="req-warn ct-box error-box">
353:             <p class="important"><?php echo $lang_common['Required warn']; ?></p>364:             <p class="important"><?php echo $lang_common['Required warn'] ?></p>
354:         </div>365:         </div>
355:         <form class="frm-form" id="afocus" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>" autocomplete="off">366:         <form class="frm-form frm-suggest-username" id="afocus" method="post" accept-charset="utf-8" action="<?php echo $forum_page['form_action'] ?>" autocomplete="off">
356:             <div class="hidden">367:             <div class="hidden">
357:                 <input type="hidden" name="form_sent" value="1" />368:                 <input type="hidden" name="form_sent" value="1" />
358:                 <input type="hidden" name="csrf_token" value="<?php echo generate_form_token($forum_page['form_action']) ?>" />369:                 <input type="hidden" name="csrf_token" value="<?php echo generate_form_token($forum_page['form_action']) ?>" />
361:             </div>372:             </div>
362: <?php ($hook = get_hook('rg_register_pre_group')) ? eval($hook) : null; ?>373: <?php ($hook = get_hook('rg_register_pre_group')) ? eval($hook) : null; ?>
363:             <div class="frm-group group<?php echo ++$forum_page['group_count'] ?>">374:             <div class="frm-group group<?php echo ++$forum_page['group_count'] ?>">
364: <?php ($hook = get_hook('rg_register_pre_username')) ? eval($hook) : null; ?>375: <?php ($hook = get_hook('rg_register_pre_email')) ? eval($hook) : null; ?>
365:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">376:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
366:                     <div class="sf-box text required">377:                     <div class="sf-box text required">
 378:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['E-mail'] ?></span> <small><?php echo $lang_profile['E-mail help'] ?></small></label><br />
 379:                         <span class="fld-input"><input type="email" data-suggest-role="email" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_email1" value="<?php echo(isset($_POST['req_email1']) ? forum_htmlencode($_POST['req_email1']) : '') ?>" size="35" maxlength="80" required spellcheck="false" /></span>
 380:                     </div>
 381:                 </div>
 382: <?php ($hook = get_hook('rg_register_pre_username')) ? eval($hook) : null; ?>
 383:                 <div class="sf-set set<?php echo ++$forum_page['item_count']; if ($forum_config['o_regs_verify'] == '0') echo ' prepend-top'; ?>">
 384:                     <div class="sf-box text required">
367:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Username'] ?></span> <small><?php echo $lang_profile['Username help'] ?></small></label><br />385:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Username'] ?></span> <small><?php echo $lang_profile['Username help'] ?></small></label><br />
368:                         <span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_username" value="<?php echo(isset($_POST['req_username']) ? forum_htmlencode($_POST['req_username']) : '') ?>" size="35" maxlength="25" required /></span>386:                         <span class="fld-input"><input type="text" data-suggest-role="username" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_username" value="<?php echo(isset($_POST['req_username']) ? forum_htmlencode($_POST['req_username']) : '') ?>" size="35" maxlength="25" required spellcheck="false" /></span>
369:                     </div>387:                     </div>
370:                 </div>388:                 </div>
371: <?php ($hook = get_hook('rg_register_pre_password')) ? eval($hook) : null; ?>389: <?php ($hook = get_hook('rg_register_pre_password')) ? eval($hook) : null; ?>
372: <?php if ($forum_config['o_regs_verify'] == '0'): ?>                <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">390: <?php if ($forum_config['o_regs_verify'] == '0'): ?>
 391:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
373:                     <div class="sf-box text required">392:                     <div class="sf-box text required">
374:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Password'] ?></span> <small><?php echo $lang_profile['Password help'] ?></small></label><br />393:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Password'] ?></span> <small><?php echo $lang_profile['Password help'] ?></small></label><br />
375:                         <span class="fld-input"><input type="<?php echo($forum_config['o_mask_passwords'] == '1' ? 'password' : 'text') ?>" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_password1" size="35" value="<?php echo(isset($_POST['req_password1']) ? forum_htmlencode($_POST['req_password1']) : ''); ?>" required autocomplete="off" /></span>394:                         <span class="fld-input"><input type="<?php echo($forum_config['o_mask_passwords'] == '1' ? 'password' : 'text') ?>" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_password1" size="35" value="<?php if (isset($_POST['req_password1'])) echo forum_htmlencode($_POST['req_password1']); ?>" required autocomplete="off" /></span>
376:                     </div>395:                     </div>
377:                 </div>396:                 </div>
378: <?php ($hook = get_hook('rg_register_pre_confirm_password')) ? eval($hook) : null; ?>397:     <?php ($hook = get_hook('rg_register_pre_confirm_password')) ? eval($hook) : null; ?>
379: <?php if ($forum_config['o_mask_passwords'] == '1'): ?>398:     <?php if ($forum_config['o_mask_passwords'] == '1'): ?>
380:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">399:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
381:                     <div class="sf-box text required">400:                     <div class="sf-box text required">
382:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Confirm password'] ?></span> <small><?php echo $lang_profile['Confirm password help'] ?></small></label><br />401:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['Confirm password'] ?></span> <small><?php echo $lang_profile['Confirm password help'] ?></small></label><br />
383:                         <span class="fld-input"><input type="password" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_password2" size="35" value="<?php echo(isset($_POST['req_password2']) ? forum_htmlencode($_POST['req_password2']) : ''); ?>" required autocomplete="off" /></span>402:                         <span class="fld-input"><input type="password" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_password2" size="35" value="<?php if (isset($_POST['req_password2'])) echo forum_htmlencode($_POST['req_password2']); ?>" required autocomplete="off" /></span>
384:                     </div>403:                     </div>
385:                 </div>404:                 </div>
 405:     <?php endif; ?>
386: <?php endif; ?>406: <?php endif; ?>
387: <?php endif; ($hook = get_hook('rg_register_pre_email')) ? eval($hook) : null; ?>                <div class="sf-set set<?php echo ++$forum_page['item_count']; if ($forum_config['o_regs_verify'] == '0') echo ' prepend-top'; ?>"> 
388:                     <div class="sf-box text required"> 
389:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_profile['E-mail'] ?></span> <small><?php echo $lang_profile['E-mail help'] ?></small></label><br /> 
390:                         <span class="fld-input"><input type="email" id="fld<?php echo $forum_page['fld_count'] ?>" name="req_email1" value="<?php echo(isset($_POST['req_email1']) ? forum_htmlencode($_POST['req_email1']) : '') ?>" size="35" maxlength="80" required /></span> 
391:                     </div> 
392:                 </div> 
393: <?php ($hook = get_hook('rg_register_pre_email_confirm')) ? eval($hook) : null;407: <?php ($hook = get_hook('rg_register_pre_email_confirm')) ? eval($hook) : null;
394: 408: 
395:         $languages = array();409:         $languages = array();
438:             </div>452:             </div>
439: <?php ($hook = get_hook('rg_register_group_end')) ? eval($hook) : null; ?>453: <?php ($hook = get_hook('rg_register_group_end')) ? eval($hook) : null; ?>
440:             <div class="frm-buttons">454:             <div class="frm-buttons">
441:                 <span class="submit"><input type="submit" name="register" value="<?php echo $lang_profile['Register'] ?>" /></span>455:                 <span class="submit primary"><input type="submit" name="register" value="<?php echo $lang_profile['Register'] ?>" /></span>
442:             </div>456:             </div>
443:         </form>457:         </form>
444:     </div>458:     </div>


punbb-1.4.1/rewrite.php punbb-1.4.2/rewrite.php
  2: /**  2: /**
  3:  * Rewrites SEF URLs to their actual files.  3:  * Rewrites SEF URLs to their actual files.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 32: // We determine the path to the script, since we need to separate the path from the data to be rewritten 32: // We determine the path to the script, since we need to separate the path from the data to be rewritten
 33: $path_to_script = str_replace('\\', '/', dirname($_SERVER['SCRIPT_NAME'])); 33: $path_to_script = str_replace('\\', '/', dirname($_SERVER['SCRIPT_NAME']));
 34: if (substr($path_to_script, -1) != '/') 34: if (substr($path_to_script, -1) != '/')
 35:     $path_to_script  = $path_to_script.'/'; 35:     $path_to_script = $path_to_script.'/';
 36:  36: 
 37: // We create our own request URI with the path removed and only the parts to rewrite included 37: // We create our own request URI with the path removed and only the parts to rewrite included
 38: $request_uri = substr(urldecode($_SERVER['REQUEST_URI']), strlen($path_to_script)); 38: $request_uri = substr(urldecode($_SERVER['REQUEST_URI']), strlen($path_to_script));
 84:     // Allow an extension to override the "Bad request" message with a custom 404 page 84:     // Allow an extension to override the "Bad request" message with a custom 404 page
 85:     ($hook = get_hook('re_page_not_found')) ? eval($hook) : null; 85:     ($hook = get_hook('re_page_not_found')) ? eval($hook) : null;
 86:  86: 
 87:     error('Page Not found (Error 404):<br/>The requested page <em>'.forum_htmlencode($request_uri).'</em> could not be found.'); 87:     error('Page Not found (Error 404):<br />The requested page <em>'.forum_htmlencode($request_uri).'</em> could not be found.');
 88: } 88: }
 89:  89: 
 90: // We change $_SERVER['PHP_SELF'] so that it reflects the file we're actually loading 90: // We change $_SERVER['PHP_SELF'] so that it reflects the file we're actually loading


punbb-1.4.1/search.php punbb-1.4.2/search.php
  2: /**  2: /**
  3:  * Allows users to search the forum based on various criteria.  3:  * Allows users to search the forum based on various criteria.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 51:     // If it's a regular search (keywords and/or author) 51:     // If it's a regular search (keywords and/or author)
 52:     if ($action == 'search') 52:     if ($action == 'search')
 53:     { 53:     {
 54:         $keywords = (isset($_GET['keywords'])) ? forum_trim($_GET['keywords']) : null; 54:         $keywords = (isset($_GET['keywords']) && is_string($_GET['keywords'])) ? forum_trim($_GET['keywords']) : null;
 55:         $author = (isset($_GET['author'])) ? forum_trim($_GET['author']) : null; 55:         $author = (isset($_GET['author']) && is_string($_GET['author'])) ? forum_trim($_GET['author']) : null;
 56:         $sort_dir = (isset($_GET['sort_dir'])) ? (($_GET['sort_dir'] == 'DESC') ? 'DESC' : 'ASC') : 'DESC'; 56:         $sort_dir = (isset($_GET['sort_dir'])) ? (($_GET['sort_dir'] == 'DESC') ? 'DESC' : 'ASC') : 'DESC';
 57:         $show_as = (isset($_GET['show_as'])) ? $_GET['show_as'] : 'posts'; 57:         $show_as = (isset($_GET['show_as'])) ? $_GET['show_as'] : 'posts';
 58:         $sort_by = (isset($_GET['sort_by'])) ? intval($_GET['sort_by']) : null; 58:         $sort_by = (isset($_GET['sort_by'])) ? intval($_GET['sort_by']) : null;
567: // Setup breadcrumbs567: // Setup breadcrumbs
568: $forum_page['crumbs'] = array(568: $forum_page['crumbs'] = array(
569:     array($forum_config['o_board_title'], forum_link($forum_url['index'])),569:     array($forum_config['o_board_title'], forum_link($forum_url['index'])),
570:     array($lang_common['Search'], forum_link($forum_url['search']))570:     $lang_common['Search']
571: );571: );
572: 572: 
573: $advanced_search = isset($_GET['advanced']) ? true : false;573: $advanced_search = isset($_GET['advanced']) ? true : false;
620:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">620:                 <div class="sf-set set<?php echo ++$forum_page['item_count'] ?>">
621:                     <div class="sf-box text">621:                     <div class="sf-box text">
622:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_search['Keyword search'] ?></span></label><br />622:                         <label for="fld<?php echo ++$forum_page['fld_count'] ?>"><span><?php echo $lang_search['Keyword search'] ?></span></label><br />
623:                         <span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="keywords" size="40" maxlength="100" <?php echo ($advanced_search) ? '' : 'required'  ?> /></span>623:                         <span class="fld-input"><input type="text" id="fld<?php echo $forum_page['fld_count'] ?>" name="keywords" size="40" maxlength="100" <?php echo ($advanced_search) ? '' : 'required' ?> /></span>
624:                     </div>624:                     </div>
625:                 </div>625:                 </div>
626: <?php ($hook = get_hook('se_pre_author')) ? eval($hook) : null; ?>626: <?php ($hook = get_hook('se_pre_author')) ? eval($hook) : null; ?>
694:             $cur_category = $cur_forum['cid'];694:             $cur_category = $cur_forum['cid'];
695:         }695:         }
696: 696: 
697:         echo "\t\t\t\t\t\t\t\t".'<div class="checklist-item"><span class="fld-input"><input type="checkbox" id="fld'.(++$forum_page['fld_count']).'"  name="forum[]" value="'.$cur_forum['fid'].'" /></span> <label for="fld'.$forum_page['fld_count'].'">'.forum_htmlencode($cur_forum['forum_name']).'</label></div>'."\n";697:         echo "\t\t\t\t\t\t\t\t".'<div class="checklist-item"><span class="fld-input"><input type="checkbox" id="fld'.(++$forum_page['fld_count']).'" name="forum[]" value="'.$cur_forum['fid'].'" /></span> <label for="fld'.$forum_page['fld_count'].'">'.forum_htmlencode($cur_forum['forum_name']).'</label></div>'."\n";
698:     }698:     }
699: 699: 
700:     echo "\t\t\t\t\t\t\t".'</fieldset>'."\n";700:     echo "\t\t\t\t\t\t\t".'</fieldset>'."\n";
760:             </fieldset>760:             </fieldset>
761: <?php endif; ($hook = get_hook('se_results_fieldset_end')) ? eval($hook) : null; ?>761: <?php endif; ($hook = get_hook('se_results_fieldset_end')) ? eval($hook) : null; ?>
762:             <div class="frm-buttons">762:             <div class="frm-buttons">
763:                 <span class="submit"><input type="submit" name="search" value="<?php echo $lang_search['Submit search'] ?>" /></span>763:                 <span class="submit primary"><input type="submit" name="search" value="<?php echo $lang_search['Submit search'] ?>" /></span>
764:             </div>764:             </div>
765:         </form>765:         </form>
766:     </div>766:     </div>
767: 767: 


punbb-1.4.1/style/Oxygen/min/Oxygen.min.css punbb-1.4.2/style/Oxygen/min/Oxygen.min.css
  1: html,body,div,p,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,legend,blockquote,table,th,td,input,textarea,button,select{margin:0;padding:0;text-align:left}fieldset,img,cite{border:0}.visual-hidden{visibility:hidden}br,hr,.hr,.hidden{display:none}.border-less{border:none!important}.small-font{font-size:.917em}.list-clean{list-style-type:none}.prepend-top{margin-top:1em!important}.nowrap{white-space:nowrap}html{height:99%;overflow-y:scroll}body{font-size:100%}.brd-page{font:75%/1.5em Verdana,Helvetica,Arial,sans-serif}h1,h2,h3,h4,h5,h6{font-size:1em;font-weight:normal}samp,code,pre,option,optgroup,input,select,textarea,td,th{font-size:1em;font-family:Verdana,Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal}samp,code,pre{font-family:monospace,sans-serif}.brd-page:after,.gen-content:after,.ct-box:after,#brd-index .item-head:after,#brd-index .main-item:after,#brd-index ul.item-info:after,.frm-group:after,.mf-set:after,.sf-set:after,.mf-box:after,.sf-box:after,.mf-item:after,.txt-set:after,.txt-box:after,.frm-form label:after,fieldset:after,span.fld-input:after,.posthead:after,.postbody:after,.postfoot .post-options:after{content:"\0020";display:block;font-size:0;height:0;line-height:.0;overflow:hidden;visibility:hidden;clear:both}.clearfix:before,.clearfix:after{content:"\0020";display:block;height:0;overflow:hidden}.clearfix:after{clear:both}.clearfix{zoom:1}#brd-stats .hn,#qjump label,.post-byline span,.posthead .post-link span,.admin .main-subhead,.main-item .item-info li span.label,.main-item .item-info li label,.main-item .you-posted,.main-item .item-num,.group-legend,.group-legend span,.sf-set legend,.sf-set legend span,.main-pagehead .page-info,p.item-select label,.mf-extra .mf-field label,.mf-extra .mf-field .aslabel,.item-subject .item-nav span,.post-options a span,.main-title,.main-head .hn small,.entry-title,.menu-page .main-head{font-size:0;left:-999em;text-indent:-999em;position:absolute;line-height:0;visibility:hidden}.brd{padding:1.3em 2em;margin:0 auto;max-width:1100px;min-width:700px;width:90%}#brd-redirect,#brd-maint,#brd-util{margin:50px auto 12px auto;width:60%}.brd-page{float:left;width:100%;position:relative}.main-content,.gen-content{border-style:solid;border-width:1px}.gen-content{padding:0 1.5em}#brd-about,#brd-stats{margin-top:1em}.main-content,#brd-visit,#brd-qpost,#brd-announcement{margin-bottom:1em}#brd-announcement{padding:.5em 1.5em;margin-top:1em}#brd-announcement br{display:inline}.main-options{border-top:0;margin:-1em 0 1em 0}p,.hn{padding:.35em 0}ul,ol{padding:.35em 0 .35em 2em}ul.spaced{padding:.25em 0 .25em 2em}.spaced li{padding:.25em 0}th{font-size:1.084em;padding:.462em 1.417em;border-bottom-style:solid;border-bottom-width:1px}.main-head,.main-foot{border-style:solid;border-width:1px;padding:0 1.417em}.main-head .hn,.main-foot .hn{padding-right:10em}h2.main-subhead{border-style:solid;border-width:1px;padding:.462em 10em .426em 1.417em}.column-title{border-style:solid;border-width:1px;position:relative;margin-bottom:-1px}.main-subhead{border-style:solid;border-width:1px;border-bottom:0}.main-subhead .hn{padding:.462em 1.417em;position:relative}.main-foot{margin-top:-1em}#brd-announcement h1,.main-extensions .ct-legend,.main-hotfixes .ct-legend{border-bottom-style:dashed;border-bottom-width:1px;font-size:1.1em;font-weight:bold}#brd-announcement h1{margin-bottom:.5em}.main-pagehead .hn{padding:.5em 0}.content-head{margin:.5em 1.417em 0}.content-head .hn{border-style:none none double none;border-width:3px;padding:.462em 0}.options>span{padding:0 0 0 .3em;margin:0 0 0 .25em}.options .js_link{padding:0;margin:0 0 0 .55em}.options>span.first-item{border-left:0;padding-left:0;margin-left:0}.extension .options,.hotfix .options{border-top-style:dashed;border-top-width:1px}.ct-box{border-style:solid;border-width:1px;-moz-border-radius:.35em;-webkit-border-radius:.35em;-khtml-border-radius:.35em;border-radius:.35em;margin:1.417em;padding:.5em 1em;position:relative}.ct-box li{padding:0;margin:0 0 .7em 0}.ct-set{border-style:solid;border-width:1px;margin:1.417em;padding:0 0 0 17em;position:relative}.ct-group{border-style:solid;border-width:1px;margin:1.417em}.frm-group .ct-set{border-style:dashed none none none;margin:0}.ct-group .ct-set{border-style:dashed none none none;margin:0 1em;padding:0 0 0 16em}.ct-group .group-item1{border:0}.ct-group .set1,.frm-group .set1{border-top:0}.ct-group .ct-box,.frm-group .ct-box{border-style:none;margin:0}.ct-group .ct-set .ct-box,.ct-set .ct-box,.frm-group .ct-set .ct-box{border-style:none;margin:0}.ct-group .set1{border-top:0}.ct-set .ct-legend{float:left;margin-left:-17em;width:16em;position:relative;text-align:right;font-weight:bold}.ct-set ul{padding-left:0;list-style:none}.ct-box div{padding:.35em 0}.ct-box p.options{float:none}.ct-box .info-list{padding-bottom:0}.user-ident{padding-left:0;list-style:none}.user-ident .username a,.user-ident .username strong{font-size:1.5em;font-weight:normal} 
  2: .user-ident .username a,.user-ident .username a:link,.user-ident .username a:visited{text-decoration:none}.user-ident .username a:hover,.user-ident .username a:active,.user-ident .username a:focus{text-decoration:underline}.user-ident .usertitle{font-weight:bold}.user-ident .useravatar{padding:.25em 0}.user-ident .useravatar img{display:block}.main-message{padding:.5em 1.417em}.main-message p span{display:block;padding-top:.5em}#brd-maint .main-message{padding:0}.main-menu,.admin-menu{border:0;padding:.4em 0 .2em .75em}.main-menu ul,.admin-menu ul{list-style-type:none;float:left;padding:0}.main-menu li,.admin-menu li{float:left;display:inline}.main-menu a,.admin-menu a{float:left;position:relative;padding:.2em .75em .4em .75em}.main-menu .active a,.admin-menu .active a{font-weight:bold}.main-menu li.first-item,.admin-menu li.first-item{border-left:0}.admin-submenu{border-style:solid;border-width:0 1px}.admin-submenu ul{padding:.5em 0;list-style:none}.admin-submenu li{display:inline;margin-right:.75em}.admin-submenu .active a{font-weight:bold}#brd-head{padding-bottom:.75em;padding-top:1em;border-radius:.4em .4em 0 0}#brd-title{padding-bottom:0}#brd-title a,#brd-title strong{font-size:1.5em;text-decoration:none;font-weight:normal}#brd-desc{padding-top:0;padding-bottom:0}#brd-navlinks ul{margin:0;padding:.4em 0;float:left}#brd-navlinks li{display:inline;margin-right:1em}#brd-navlinks li a{text-decoration:none}#brd-admod{float:right;text-align:right}#brd-admod span{margin-left:.75em}#brd-access{text-align:right;padding:0;height:0;margin:0;position:absolute;background:transparent}#brd-access a,#brd-access a:link,#brd-access a:visited{height:2em;line-height:2em;position:absolute;left:-999em;margin:1px;width:12em}#brd-access a:hover,#brd-access a:active,#brd-access a:focus{text-indent:0;background:#000;position:static;float:right}#brd-visit #welcome{float:left}#brd-visit #visit-links{text-align:right;float:none}#brd-pagepost-end{border-top:0}#brd-pagepost-top{border-bottom:0}#brd-admin-bans #brd-pagepost-end{margin-top:-1em}.paging{float:left}.posting{text-align:right;float:right}.paging{white-space:nowrap}.paging a,.paging strong,.paging span{padding:0 1em;border-left-style:solid;border-left-width:1px;float:left;white-space:nowrap}.paging .first-item,.paging span.pages{border-left:0;padding-left:0}.posting .newpost{font-size:1.084em;font-weight:bold}.crumbs .crumblast span{font-weight:normal}.crumbs span,.crumbs a{white-space:nowrap}.crumbs{margin:.5em 0;padding:0 1.417em;font-size:1.084em}#brd-crumbs-top .crumblast{font-size:1.15em}#brd-stats ul{list-style:none;padding-left:0}#brd-stats ul li.st-users{float:left;clear:both;white-space:nowrap}#brd-stats ul li.st-activity{text-align:right;display:block;white-space:nowrap}#brd-stats li strong{font-weight:bold}#brd-online{padding-top:.5em;padding-bottom:.5em;border-top:0}#brd-online .hn,#brd-online p{padding-bottom:0;padding-top:0}#brd-online .hn{float:left;margin-right:.5em}#qjump{float:left;padding:.5em 0}#qjump div,#qjump label{padding:0;border:0}#copyright{text-align:right;margin:0}#querytime{text-align:right;font-size:.917em;padding:0}#extensions-used{border-bottom:1px dotted}p.options{border-top:0;float:right}.main-modoptions .options{text-align:center}a.feed{padding-left:22px;background:url(feed-icon.png) center left no-repeat}.content-options,.ct-options{float:right;margin-top:-2.6em;padding:.5em 1.417em;position:relative}.item-summary{height:2.5em;padding:0;position:relative;font-size:1em}.item-summary span{width:100%;position:absolute;left:-999em;text-indent:-999em;display:block}.item-summary strong{position:absolute;left:999em;text-indent:0;padding:.5em 0;white-space:nowrap;font-weight:normal}.item-summary strong:first-letter {text-transform:uppercase}.item-summary .subject-title{padding-left:1.417em}.item-summary .info-topics,.item-summary .info-replies{margin-left:100%;text-align:center;width:7em;left:965em}.item-summary .info-forum{margin-left:100%;text-align:center;width:20em;left:952em}.item-summary .info-posts,.item-summary .info-views{margin-left:100%;text-align:center;width:7em;left:972em}.item-summary .info-lastpost{margin-left:100%;left:980em}p.forum-noview .info-replies{left:972em}.main-content .main-item{border-top-style:solid;border-top-width:1px;overflow:hidden;position:relative;line-height:1.4em}.main-content .main-first-item{border-top:0}.main-content .main-item ul{float:right;position:relative;padding:0;list-style:none}.main-content .main-item p,.main-content .main-item .hn{padding:0}.hn .item-status{font-weight:normal}.hn .item-status em{font-style:normal}.main-item .item-subject,.main-content .main-item li{float:left;border-left-style:solid;border-left-width:1px;margin:0 -2px -9.7em 0;position:relative;padding-top:.6em;padding-bottom:10.4em}.main-item .item-subject{overflow:hidden;width:100%}li.info-topics,li.info-posts,li.info-views,li.info-replies{width:7em;text-align:center}li.info-forum{width:20em;text-align:center}li.info-lastpost{width:20em} 
  3: li.info-lastpost cite{overflow:hidden;width:18em}.main-item li strong{font-weight:normal}.main-content .main-item{padding-right:35em;padding-left:3.75em}.main-content .main-item .hn{position:relative}.main-content .main-item ul{width:34em;right:-35em;margin-left:-34em}.forum-noview .main-item{padding-right:28em}.forum-noview .main-item ul{width:27em;right:-28em;margin-left:-27em}.forum-forums .main-item{padding-right:48em}.forum-forums .main-item ul{width:47em;right:-48em;margin-left:-47em}.item-subject span.modlist{display:block}#brd-index .main-item .hn span{font-size:1.084em;font-weight:bold}#brd-index .main-item .hn small{font-size:1em}.item-status{font-weight:bold}.main-content .main-item cite{font-style:normal}.item-nav,.item-nav a,.item-nav span{white-space:nowrap;font-style:normal}.item-subject .hn,.item-subject p{margin:0 0 0 1.5em}li.info-lastpost cite,li.info-lastpost span,li.info-forum a{display:block;padding:0 1em;font-style:normal;font-weight:normal}li.info-lastpost strong{padding:0 0 0 1em;font-style:normal;font-weight:normal}.main-item li.info-select{position:absolute;right:0;top:0;padding:.3em;border-style:none none solid solid;border-width:1px}.main-content .main-item .icon{border-style:solid;border-width:.5833em;height:0;width:0;float:left;margin-top:.667em;margin-left:-2.417em}.main-content .main-item .hn .posted-mark{position:absolute;font-size:2em;width:1em;left:-0.5em;top:0}.frm-group{border-top-style:dashed;border-top-width:1px;margin:1.417em;padding:1.3em 0 0}.group1{border-top:0;padding-top:0}.sf-box,.mf-box,.txt-box{margin:1.417em;padding:.5em 0;position:relative}.sf-set,.mf-set,.txt-set{margin:1.417em;padding:0 0 0 17em;position:relative}.sf-set .sf-box,.mf-set .mf-box,.txt-set .txt-box{margin:0}.frm-group .sf-set,.frm-group .mf-set,.frm-group .txt-set{margin:0}.text input,.select select{font-size:1.084em}optgroup{font-weight:bold}.frm-buttons{margin:.75em 1.417em .8em 1.417em;position:relative;border-top-style:solid;border-top-width:1px;padding:1.1em 0 .3em 18em}.frm-buttons .submit{margin-right:.75em}.frm-buttons .primary{margin-right:2em}.submit input,.cancel input{overflow:visible;padding-left:.5em;padding-right:.5em;font-size:1.084em}.button-set .submit{padding-left:1em}button{width:auto;overflow:visible}label,input[type="button"],input[type="submit"],button,select{cursor:pointer}input[type="submit"],input[type="button"],input[type="reset"],button{display:inline-block;vertical-align:baseline;text-align:center;text-decoration:none;padding:.5em .65em;-moz-border-radius:.25em;-webkit-border-radius:.25em;-khtml-border-radius:.25em;border-radius:.25em;border-style:solid;border-width:1px;-webkit-appearance:button;line-height:normal}input[type="submit"]::-moz-focus-inner,input[type="button"]::-moz-focus-inner,input[type="file"]::-moz-focus-inner,input[type="reset"]::-moz-focus-inner,button::-moz-focus-inner{border:0;padding:0}input[type="submit"]:active,input[type="button"]:active,input[type="reset"]:active,button:active{position:relative;top:1px}input[type="submit"][disabled]:active,input[type="button"][disabled]:active,input[type="reset"][disabled]:active,button[disabled]:active{position:relative;top:0}.js_link{border-bottom-style:dashed;border-bottom-width:1px}.sf-box label,.sf-box .aslabel{float:left;padding:0}.sf-set .checkbox label{padding:2px 0 2px 2.7em}.sf-set .text label span,.sf-set .select label span,.sf-set .aslabel span{float:left;margin-left:-17em;display:block;position:relative;padding:2px 0 2px 1em;width:16em;text-align:right}.sf-set .checkbox label span{float:left;margin-left:-18em;display:block;position:relative;padding:0 0 0 2em;width:16em;left:-3em;text-align:right;font-weight:bold}.sf-set .text label small,.sf-set .select label small{display:block;text-align:left;position:relative;margin:2em 1em 0 1em;padding-top:.25em;font-size:.917em}.sf-set .fld-input{position:absolute;top:0;left:0;display:block;padding:.5em 1em}.sf-set .checkbox input{margin:.2em 0 .2em -0.2em}.sf-set .text input:not([title]){height:100%}.sf-set .sf-short input{width:4em}.sf-set .sf-short label small{font-size:1em;padding:2px 0;margin:0 1em 0 7em}input[type="radio"]{vertical-align:middle;bottom:1px}input[type="checkbox"]{vertical-align:middle;bottom:1px}table input[type="checkbox"]{vertical-align:baseline}.mf-box .mf-item{position:relative;top:-0.166em;padding:.3em 0}.mf-set legend{position:absolute;height:0;background:transparent}.mf-set legend span{position:absolute;left:-17em;width:16em;padding:.5em 1em;margin:1px 0 2px 0;overflow:hidden;display:block;text-align:right;font-weight:bold} 
  4: .mf-set legend span em{display:block;white-space:normal;font-style:normal;font-weight:normal;font-size:.917em}.mf-item .fld-input{position:absolute;top:.25em;left:0;display:block;padding:0 1em}.mf-item input{margin:.1em 0 .1em -0.25em}.mf-item label{padding:1px 0 1px 2.7em;float:left}.mf-set .mf-yesno .mf-item{width:11em;float:left}.mf-set .mf-field{float:left;padding:0 1em 0 1em;border-left:1px solid #ccc}.mf-set .mf-field1{border-left:none}.mf-set .mf-field label,.mf-set .mf-field .aslabel{position:absolute;top:-2em;display:block}.mf-set .mf-cell .fld-input{position:static;padding:0 0 0 1em;border-left:1px solid #ccc}.frm-hdgroup{padding-top:2em}.sf-set .sf-box .sf-forum{width:25em}.mf-set .mf-box .forum-field{width:25em}.checklist{min-height:6em;max-height:9em;max-width:30em;overflow:auto;border-style:solid;border-width:1px;position:relative;padding:.25em .5em;margin:0 1em}.checklist fieldset{height:auto}.checklist legend,.checklist legend span{font-weight:bold;position:static;padding:0;height:auto;text-align:left}.checklist legend span{width:auto;max-width:25em}.checklist-item{position:relative;height:auto}.checklist-item label{display:block;padding:0 0 0 2.25em;float:none;height:100%}.checklist-item .fld-input{position:absolute;left:0;top:0;padding:0;margin:0}.checklist-item input{margin:0}.txt-box label{float:left}.txt-set label span{float:left;margin-left:-17em;display:block;position:relative;padding:2px 1em;width:16em;text-align:right}.txt-set label small{display:block;text-align:left;position:relative;margin:0 1em 0 -1px;padding:2px 1.25em;font-size:.917em;z-index:100}.txt-set .txt-input{position:relative;width:100%}.txt-set .fld-input{display:block;padding:0 0 0 1em}.txt-set textarea{width:95%;resize:vertical}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="search"],input[type="number"],textarea{border-width:1px;border-style:solid;padding:.25em}#quick-search{padding:.1em .2em}.req-warn{display:none}#req-msg p em,.required label span em{font-style:normal;font-weight:normal}.required label span em{float:left;font-size:.917em;line-height:1.2em;width:100%;position:relative}.req-error{display:block}.required label span{font-weight:bold}.post{border-style:solid;border-width:1px;position:relative;margin:1.417em;margin-top:-1.417em}.firstpost,.singlepost{margin-top:1.417em}.main-topic .lastpost{border-bottom:0}.main-topic .post{border-style:solid none;margin:0}.main-topic .firstpost{border-top:0}.posthead{margin-left:18em;border-style:none none none solid;border-width:1px}.posthead .hn{padding-right:1.5em;padding-left:1em;border-style:none none dashed none;border-width:1px}.posthead .post-byline a,.posthead .post-byline strong{font-size:1.167em;font-weight:bold;text-decoration:none;font-style:normal}.posthead .post-byline{float:left;width:15.5em;padding:.5em 1em .5em 1.5em;margin-left:-19em;margin-top:-0.5em;position:relative;left:-1px;overflow:hidden}.posthead .post-num{float:right}#brd-modtopic .posthead .hn{padding-right:2.7em}.post-title{padding:0 1.5em .5em 1em;margin-top:-1px;position:relative}.post-title span{display:block;width:100%;overflow:hidden}.post-title a{font-size:1em;text-decoration:none;font-weight:bold}.post-title small,.post-title small a{font-size:1em;font-weight:normal;white-space:nowrap}.posthead p.item-select{position:absolute;top:0;right:.75em;height:2.5em}.postbody{margin-left:18em;position:relative;border-left-style:solid;border-left-width:1px;padding:.5em 1.5em 0 1em;clear:both}.postfoot{padding-left:18em;border-top-style:none;border-top-width:1px;position:relative}.postfoot .post-options{border-left-style:solid;border-left-width:1px}.postbody .post-author{float:left;width:15.5em;margin-left:-19em;left:-1px;position:relative;padding:0 1em .5em 1.5em;overflow:hidden;margin-top:-1em}.postbody .post-author ul{margin:0;padding:0 0 .5em 0;list-style:none}.author-ident .useravatar img{display:block;padding:.5em 0}.author-ident .username{display:none}.author-ident .usertitle{font-weight:bold;line-height:normal}.author-ident .userstatus{padding:.75em 0 .25em 0;margin:0;line-height:.75em;width:100%}.author-ident .userstatus span{font-size:.917em;display:block;border-left-style:solid;border-left-width:.7em;text-indent:.5em}.author-info li span strong{font-weight:normal}.online .author-ident .userstatus span{font-weight:bold}.postfoot .post-contacts{float:left;margin-left:-18em;width:15.5em;padding:.5em 1em .5em 1.5em;position:relative;left:-1px}.postfoot .post-actions{padding:.5em 1.5em .5em 1em;text-align:right;display:block;float:right}.postfoot .post-actions>span{margin-left:.75em}.postfoot .post-contacts>span{margin-right:.75em}.entry-content{padding-bottom:1em;overflow:hidden;width:100%;min-height:8em;font-size:1.084em}#brd-help .entry-content{min-height:4em}.entry-content ol{padding-left:2.5em;list-style-type:decimal} 
  5: .entry-content ol p,.entry-content ul p{padding:0}.entry-content ol.alpha{list-style-type:upper-alpha}.entry-content h5{font-weight:bold;font-size:1.084em;padding:.5em 0}.entry-content img{vertical-align:text-top;max-width:100%}.entry-content .quotebox,.entry-content .codebox{border-style:solid;border-width:1px;margin:.75em 1em;padding:1em .75em}.entry-content .codebox{font-size:.97em}.entry-content blockquote{overflow:hidden;width:100%}.entry-content .quotebox cite{display:block;font-style:normal;font-weight:bold}.entry-content pre{margin:0;max-height:35em;min-height:2em;overflow:auto;padding:0 2% .1em 0;width:98%}.entry-content span.bbu{text-decoration:underline}.entry-content br,.sig-demo br,.user-box br,.main-message br{display:inline}.sig-content{padding-top:2em;font-size:.917em}span.sig-line{display:block;width:200px;border-top-style:solid;border-top-width:1px;padding-bottom:.5em}table{width:100%;table-layout:fixed;empty-cells:show;border-spacing:0;line-height:1.3333em;border-collapse:collapse}td{overflow:hidden;vertical-align:middle}table caption{display:none}#brd-userlist table .tc0{width:30%}#brd-userlist table .tc1{width:20%;text-align:left}#brd-userlist table .tc2{width:10%;text-align:center}#brd-debug table{border:0;font-size:.95em}#brd-debug .tcl{white-space:nowrap;width:10%}#brd-debug .tcr{white-space:normal;width:90%}#brd-admin-uresults table .tc0,#brd-admin-iresults table .tc0{width:45%}#brd-admin-uresults table .tc1,#brd-admin-iresults table .tc1,#brd-admin-iresults table .tc2{width:20%}#brd-admin-uresults table .tc2,#brd-admin-uresults table .tc4{width:10%;text-align:center}#brd-admin-uresults .tc3{width:15%}#brd-admin-uresults td.tc0 span,#brd-admin-uresults td.tc3 span{display:block;white-space:nowrap}#brd-admin-iresults table .tc0{width:25%}#brd-admin-iresults table .tc1{width:25%}#brd-admin-iresults table .tc2{width:20%}#brd-admin-iresults .tc3{width:30%}.main-content th{font-size:1.084em;padding:.462em 1.417em;font-weight:normal}td{padding:.5em 1.417em;border-width:1px;border-style:solid none none solid}td.tc0{border-left-style:none;border-left-width:0}th{padding:.5em 1.3em;border-style:none}td.actions,th.actions{text-align:right}td.actions span{display:block}.report{margin-left:4em}.report h3 span{display:block;font-style:normal}.report h3 cite{font-style:normal;font-size:1.084em;font-weight:bold}.report h3 strong{position:absolute;left:-3.1em;width:1.5em;text-align:right;font-size:1.167em}.report p strong{display:block;font-weight:normal}.report h4{border-bottom-style:dashed;border-bottom-width:1px}#brd-admin-reports .frm-buttons{margin-left:4em;margin-top:0}#brd-admin-reports .select-all{float:right}.report .item-select{position:absolute;top:0;right:.75em;height:2.5em}.help-box samp{display:block;margin-left:1.5em}.help-box h5 samp{margin-left:1.417em}.help-box code{font-family:courier;font-size:1.084em}.help-box .entry-content{padding:0}.help-box .hn{padding-bottom:.5em;border-bottom-style:dashed;border-bottom-width:1px;margin-bottom:.5em;color:#294f6e}#brd-messages{text-align:center;position:fixed;top:0;z-index:999;padding:0;left:0;right:0}#brd-messages span{text-align:center;padding:.35em 1.3em;margin:0 1em;font:87%/1.5em Arial,sans-serif;font-weight:bold;line-height:2em;border-width:1px;border-style:solid}.ie6 .brd-page,.ie6 .main,.ie6 #brd-index .main-subhead,.ie6 .main-content .main-item,.ie6 .main-content .main-item ul,.ie6 .gen-content,.ie6 .main-content,.ie6 .ct-box,.ie6 .frm-group,.ie6 .mf-set,.ie6 .sf-set,.ie6 .mf-box,.ie6 .sf-box,.ie6 .mf-item,.ie6 .txt-set,.ie6 .txt-box,.ie6 .frm-form label,.ie6 fieldset,.ie6 span.fld-input,.ie6 .main-subhead .hn,.ie6 .post,.ie6 .posthead,.ie6 .postbody,.ie6 .post-entry,.ie6 .postfoot .post-options{zoom:1}.ie6 .ct-box ol,.ie6 .ct-box ol li{zoom:normal}.ie6 .postfoot .post-contacts{position:absolute}.ie6 #brd-wrap fieldset{padding-top:1px;position:relative}.ie6 fieldset legend{margin-left:-7px}.ie6 #brd-wrap .checklist{height:9em;width:30em;overflow:auto}.ie6 .sf-set .checkbox label span{padding-right:0;padding-left:5em}.ie6 #info-censored-intro,.ie6 #info-ranks-intro{margin-bottom:3em}.ie6 .important strong{margin-right:1ex}.ie6 #brd-stats .st-users{margin-bottom:-1ex}.ie6 .txt-box label span{position:absolute}.ie6 #brd-index .main-head{position:relative}.ie6 input{vertical-align:text-bottom}.ie6 #extensions-used{clear:left}.oldie textarea{overflow:auto}.ie7 .brd-page,.ie7 .main,.ie7 #brd-index .main-subhead,.ie7 #brd-index .forum-item,.ie7 .gen-content,.ie7 .main-content,.ie7 .ct-box,.ie7 .frm-group,.ie7 .mf-set,.ie7 .sf-set,.ie7 .mf-box,.ie7 .sf-box,.ie7 .mf-item,.ie7 .txt-set,.ie7 .txt-box,.ie7 .frm-group label,.ie7 fieldset,.ie7 span.fld-input,.ie7 .main-subhead .hn,.ie7 .post,.ie7 .posthead,.ie7 .postbody,.ie7 .post-entry,.ie7 .postfoot .post-options,.ie7 #brd-stats ul{max-height:100%;zoom:1}.ie7 #brd-wrap fieldset{padding-top:1px;position:relative}.ie7 fieldset legend{margin-left:-7px}.ie7 .entry-content .codebox pre{min-height:3em} 
  6: .ie7 #info-censored-intro,.ie7 #info-ranks-intro{margin-bottom:3em}.ie7 .main-forum .main-item .item-starter{margin-left:1ex}.ie7 #brd-admin-settings-setup #fld19,.ie7 #brd-post textarea#fld1,.ie7 #brd-post textarea#fld2,.ie7 #brd-viewtopic textarea#fld1,.ie7 #brd-postedit #fld2{margin-top:-19px}.ie7 .item-starter{position:relative;left:-0.5em}.ie7 input[type="checkbox"]{vertical-align:baseline}body{background:#fff;color:#222}a:focus{outline:0}a:link,a:visited,.js_link{color:#00579c;text-decoration:none}a:hover,a:active,a:focus{color:#cd0021;text-decoration:underline}.js_link{cursor:pointer;border-color:#00579c;-moz-user-select:none;-webkit-user-select:none;user-select:none}.js_link:hover{color:#cd0021;border-color:#cd0021}.entry-content a:visited{color:#909}.entry-content a:visited:hover{color:#cd0021}.sig-content a,.sig-content a:visited{color:#999;text-decoration:underline}.sig-content a:hover,.sig-content a:active,.sig-content a:focus,.sig-content a:visited:hover{color:#333}.gen-content,.main-content{background:#fbfbfb;border-color:#d3dae1;border-bottom-color:#cbd1d8}.main-pagepost{background:#fff;border-color:#dde4eb}#brd-crumbs-top .crumblast a,#brd-crumbs-top .crumblast a:hover{color:#111;text-decoration:none}.main-item,.main-item li,.main-item div,td{border-color:#dde4eb}.main-content .main-item .item-nav{color:#888}.main-content .sticky{background:#f2f4fa}.main-content .main-item .hn .item-status em.sticky,.main-content .main-item .hn .item-status em.closed{color:#314b60;font-weight:bold}.main-content .main-item .hn .item-status em.moved{color:#666}.post div,h3.post-ident,h4.post-title,.posthead h3,.userstatus span,.sig-line{border-color:#dde4eb}.post-num{color:#999}.post{border-color:#dde4eb;border-top-color:#fff;border-bottom-color:#ccc;background:#edf1f5}#topic-review .firstpost,.singlepost{border-top-color:#dde4eb;border-bottom-color:#dde4eb}.posthead,.postbody,.post-options{background:#f9f9f9}.posthead .hn{background:#f1f1f1}.post-title small{color:#999}.sig-content{color:#999}.sig-demo{color:#333}.sig-demo a,.sig-demo a:visited{color:#333;text-decoration:underline}.online .userstatus span{border-color:#3f9439}.ct-box,.ct-set,.ct-group,.frm-group{border-color:#dbe0e4}.admin-page .ct-box{background:#feffe6}.admin-page .ct-set .ct-box,.report{background:#f4f9fd}.admin-page .warn-set .warn-box{background:#feffe6}.main-frm .ct-group,#brd-announcement{background:#f4f9fd}.main-content .info-box{background:#ffffe1}.main-extensions .extension,.main-hotfixes .hotfix{background:#f4f9fd}.main-extensions .disabled,.main-hotfixes .disabled{background:#ffffe1}.warn-group,.warn-set,.warn-box,.error-box,#admin-alerts{background:#feffe6;border-color:#f4ebce}.warn-group,.warn-set,.warn-box,.error-box{border-color:#e6d190}.info-list li,.error-list li{color:#5d5636}.info-list li span,.error-list li span{color:#5d5636}ul li strong{color:#222}.user-box{background:#f4f9fd}.ct-box .hn{border-color:#dbe0e4;color:#333}.error-box .hn{color:#222}.help-box{background:#f4f4f4}.help-box .hn{color:#294f6e}.frm-buttons,.extension .options,.hotfix .options{border-color:#e3e3e3}.checklist{background:#fff;border-color:#ccc}label,.aslabel,.mf-set legend,.ct-legend,.ct-legend span,.ct-legend cite,.ct-legend strong{color:#333}.paging span,.paging a,.paging strong{border-color:#dedfdf}.required label em,#req-msg em,.warn strong,.important strong{color:#b42000}.sf-set .text label small,.sf-set .select label small,.txt-set .textarea label small{color:#999}.entry-content .quotebox,.entry-content .codebox{background:#fff;border-color:#ddd}#brd-announcement .userbox{background:#f4f9fd none repeat scroll 0 0}.main-content .main-item .hn .posted-mark{color:#99C}.lastedit em{font-size:.95em;font-style:normal;color:#999}.user-ident .username strong{color:#222}#brd-navlinks{background:#0066b9;border-color:#0066b9;color:#eee}#brd-navlinks a:link,#brd-navlinks a:visited{color:#eee}#brd-navlinks a:hover,#brd-navlinks a:active,#brd-navlinks a:focus{color:#fff;text-decoration:underline}.main-options,.main-options span{background:#f1f1f1}.main-menu,.admin-menu{background:#0066b9}.admin-submenu{background:#e4e4ec;border-color:#d3dae1}.main-menu a:link,.main-menu a:visited,.admin-menu a:link,.admin-menu a:visited{color:#ddd;text-decoration:none}.main-menu a:hover,.main-menu a:active,.main-menu a:focus,.admin-menu a:hover,.admin-menu a:active,.admin-menu a:focus{text-decoration:underline;color:#fff}.main-menu .active a:hover,.main-menu .active a:active,.main-menu .active a:focus,.main-menu .active a:visited,.admin-menu .active a:hover,.admin-menu .active a:active,.admin-menu .active a:focus,.admin-menu .active a:visited{text-decoration:none}.main-menu .active a{color:#fff}.admin-menu .active a{color:#eef}#brd-admod #alert a{color:yellow}#brd-head{background:#f5f5f5;color:#222}#brd-head a,#brd-head a:link,#brd-head a:visited{color:#222}.main-head,.main-foot{background:#0066b9;color:#ddd;border-color:#0066b9}#brd-announcement h1{border-color:#bbb} 
  7: .main-subhead{border-color:#d3dae1 #D3DAE1 #cbd1d8 #D3DAE1;background:#f4f4f4}.column-title{border-color:#f4f4f4 #F4F4F4 #cbd1d8 #F4F4F4;background:#f4f4f4}.group-head{background:#edf1f5;border-color:#dbe0e4}.content-head .hn{border-color:#dbe0e4;color:#666}.main-head a:link,.main-head a:visited,.main-foot .options a:link,.main-foot .options a:visited,.main-head .js_link,.main-foot .options .js_link{color:#ddd}.main-head .js_link,.main-foot .options .js_link{border-color:#ccc}.main-head a:hover,.main-head a:active,.main-head a:focus,.main-head .js_link:hover,.main-foot .options a:hover,.main-foot .options a:active,.main-foot .options a:focus,.main-foot .options .js_link:hover{color:#fff}.main-head .js_link:hover,.main-foot .options .js_link:hover{border-color:#fff}th{background:#f4f4f4}.main-frm .ct-group td{background:#fbfbfb}#extensions-used{border-bottom-color:#999}.main-content .main-item .icon{border-color:#edf1f5 #DDE0E4 #c6cbd3 #BABFC6}.main-content .redirect .icon{border-color:#f4f4f4 #f4f4f4 #f4f4f4 #f4f4f4}.main-content .sticky .icon{border-color:#d7e5f3 #C3CFDc #9fb3c7 #90A2B4}.main-content .closed .icon{border-color:#acacac #979797 #898989 #7A7A7A}.main-content .sticky.closed .icon{border-color:#d7e5f3 #C3CFDc #898989 #7A7A7A}.main-content .new .icon{border-color:#0080d7 #0065C0 #0058b3 #0072CA}.checklist-item label{background:#fff}.checklist-item label:hover{background:#edf1f5}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="number"],input[type="search"],textarea{border-color:#d3dae1}input[type="text"]:active,input[type="text"]:focus,input[type="password"]:active,input[type="password"]:focus,input[type="email"]:active,input[type="email"]:focus,input[type="url"]:active,input[type="url"]:focus,input[type="search"]:active,input[type="search"]:focus,input[type="number"]:active,input[type="number"]:focus,textarea:active,textarea:focus{border-color:#c8d3dc #D3DAE1 #d3dae1 #C8D3DC;box-shadow:0 1px 2px rgba(0,0,0,0.1) inset;background:#fffff3;background:-moz-linear-gradient(top,#fffee8,#fff);background:-o-linear-gradient(top,#fffee8,#fff);background:-webkit-gradient(linear,0 0,0 100%,from(#fffee8),to(#fff));background:-webkit-linear-gradient(top,#fffee8,#fff);background:-ms-linear-gradient(top,#fffee8,#fff);background:linear-gradient(top,#fffee8,#fff)}input[type="submit"],input[type="button"],input[type="reset"],button{background:#f6f6f6;background:-moz-linear-gradient(top,#fff,#eee);background:-o-linear-gradient(top,#fff,#eee);background:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#eee));background:-webkit-linear-gradient(top,#fff,#eee);background:-ms-linear-gradient(top,#fff,#eee);background:linear-gradient(top,#fff,#eee);border-color:#ccc;color:#404040;text-shadow:0 1px 1px #ddd}input[type="submit"]:hover,input[type="submit"]:focus,input[type="reset"]:hover,input[type="reset"]:focus,input[type="button"]:hover,input[type="button"]:focus,button:hover,button:focus{background:#f3f3f3;background:-moz-linear-gradient(top,#fff,#ebebeb);background:-o-linear-gradient(top,#fff,#ebebeb);background:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#ebebeb));background:-webkit-linear-gradient(top,#fff,#ebebeb);background:-ms-linear-gradient(top,#fff,#ebebeb);background:linear-gradient(top,#fff,#ebebeb);border-color:#84bce4;color:#111;-moz-box-shadow:0 1px 2px rgba(0,0,0,.1);-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}input[type="submit"][disabled],input[type="button"][disabled],input[type="reset"][disabled],button[disabled]{border-color:#ccc;color:#999}input[type="submit"][disabled]:hover,input[type="submit"][disabled]:focus,input[type="reset"][disabled]:hover,input[type="reset"][disabled]:focus,input[type="button"][disabled]:hover,input[type="button"][disabled]:focus,button[disabled]:hover,button[disabled]:focus{color:#999}#querytime{color:#999}.quiet{color:#999}.loud{color:#000}#brd-debug th{background:#fff;border:0;border-bottom:2px solid #dde4eb;color:#111} 
  8: #brd-debug td{background:#fff;border:0;border-bottom:solid 1px #eee;color:#666}#brd-messages span{color:#333;-webkit-border-bottom-right-radius:.3em;-webkit-border-bottom-left-radius:.3em;-moz-border-radius-bottomright:.3em;-moz-border-radius-bottomleft:.3em;border-bottom-right-radius:.3em;border-bottom-left-radius:.3em;-moz-box-shadow:0 2px 3px rgba(0,0,0,.2);-webkit-box-shadow:0 2px 3px rgba(0,0,0,.2);box-shadow:0 2px 3px rgba(0,0,0,.2)}#brd-messages .message_error{border-color:#ffe475;background:#ffbdac}#brd-messages .message_warning{border-color:#ffe475;background:#ffd0ac}#brd-messages .message_info{border-color:#ffe475;background:#ffc;background:-moz-linear-gradient(center top,#fffbea,#fef7cb);background:-o-linear-gradient(top,#fffbea,#fef7cb);background:-webkit-gradient(linear,0 0,0 100%,from(#fffbea),to(#fef7cb));background:-webkit-linear-gradient(top,#fffbea,#fef7cb);background:-ms-linear-gradient(top,#fffbea,#fef7cb);background:linear-gradient(top,#fffbea,#fef7cb)} 
  9:   0: 


punbb-1.4.1/style/Oxygen/Oxygen_cs.css punbb-1.4.2/style/Oxygen/Oxygen_cs.css


punbb-1.4.1/style/Oxygen/Oxygen.css punbb-1.4.2/style/Oxygen/Oxygen.css


punbb-1.4.1/style/Oxygen/Oxygen.min.css punbb-1.4.2/style/Oxygen/Oxygen.min.css
   1: html,body,div,p,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,legend,blockquote,table,th,td,input,textarea,button,select{margin:0;padding:0;text-align:left}fieldset,img,cite{border:0}.visual-hidden{visibility:hidden}br,hr,.hr,.hidden{display:none}.border-less{border:none!important}.small-font{font-size:.917em}.list-clean{list-style-type:none}.prepend-top{margin-top:1em!important}.nowrap{white-space:nowrap}html{height:99%;overflow-y:scroll}body{font-size:100%}.brd-page{font:75%/1.5em Verdana,Helvetica,Arial,sans-serif}h1,h2,h3,h4,h5,h6{font-size:1em;font-weight:normal}samp,code,pre,option,optgroup,input,select,textarea,td,th{font-size:1em;font-family:Verdana,Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal}samp,code,pre{font-family:monospace,sans-serif;white-space:pre-wrap;word-wrap:break-word}.brd-page:after,.gen-content:after,.ct-box:after,#brd-index .item-head:after,#brd-index .main-item:after,#brd-index ul.item-info:after,.frm-group:after,.mf-set:after,.sf-set:after,.mf-box:after,.sf-box:after,.mf-item:after,.txt-set:after,.txt-box:after,.frm-form label:after,fieldset:after,span.fld-input:after,.posthead:after,.postbody:after,.postfoot .post-options:after{content:"\0020";display:block;font-size:0;height:0;line-height:.0;overflow:hidden;visibility:hidden;clear:both}.clearfix:before,.clearfix:after{content:"\0020";display:block;height:0;overflow:hidden}.clearfix:after{clear:both}.clearfix{zoom:1}#brd-stats .hn,#qjump label,.post-byline span,.posthead .post-link span,.admin .main-subhead,.main-item .item-info li span.label,.main-item .item-info li label,.main-item .you-posted,.main-item .item-num,.group-legend,.group-legend span,.sf-set legend,.sf-set legend span,.main-pagehead .page-info,p.item-select label,.mf-extra .mf-field label,.mf-extra .mf-field .aslabel,.item-subject .item-nav span,.post-options a span,.main-title,.main-head .hn small,.entry-title,.menu-page .main-head{font-size:0;left:-999em;text-indent:-999em;position:absolute;line-height:0;visibility:hidden}.brd{padding:1em 2em;margin:0 auto;max-width:1100px;min-width:700px;width:90%}#brd-redirect,#brd-maint,#brd-util{margin:50px auto 12px auto;width:60%}.brd-page{float:left;width:100%;position:relative}.main-content,.gen-content{border-style:solid;border-width:1px}.gen-content{padding:0 1.5em}#brd-about,#brd-stats{margin-top:1em}.main-content,#brd-visit,#brd-qpost,#brd-announcement{margin-bottom:1em}#brd-announcement{padding:.5em 1.5em;margin-top:1em}#brd-announcement br{display:inline}.main-options{border-top:0;margin:-1em 0 1em 0}#rules-content{padding:1.5em}#rules-content h1{font-size:1.3em;line-height:1em;margin-bottom:.7em}#rules-content h2{font-size:1.2em;font-weight:bold;margin-bottom:.3em}#rules-content h3{font-size:1.1em;font-weight:bold}#rules-content h4,#rules-content h5{font-size:1;font-weight:bold}#rules-content p{margin:0 0 .65em}p,.hn{padding:.35em 0}ul,ol{padding:.35em 0 .35em 2em}ul.spaced{padding:.25em 0 .25em 2em}.spaced li{padding:.25em 0}th{font-size:1.084em;padding:.462em 1.417em;border-bottom-style:solid;border-bottom-width:1px}.main-head,.main-foot{border-style:solid;border-width:1px;padding:0 1.417em}.main-head .hn,.main-foot .hn{padding-right:10em}h2.main-subhead{border-style:solid;border-width:1px;padding:.462em 10em .426em 1.417em}.column-title{border-style:solid;border-width:1px;position:relative;margin-bottom:-1px}.main-subhead{border-style:solid;border-width:1px;border-bottom:0}.main-subhead .hn{padding:.462em 1.417em;position:relative}.main-foot{margin-top:-1em}#brd-announcement h1,.main-extensions .ct-legend,.main-hotfixes .ct-legend{border-bottom-style:dashed;border-bottom-width:1px;font-size:1.1em;font-weight:bold}#brd-announcement h1{margin-bottom:.5em}.main-pagehead .hn{padding:.5em 0}.content-head{margin:.5em 1.417em 0}.content-head .hn{border-style:none none double none;border-width:3px;padding:.462em 0}.options>span{padding:0 0 0 .3em;margin:0 0 0 .25em}.options .js_link{padding:0;margin:0 0 0 .55em}.options>span.first-item{border-left:0;padding-left:0;margin-left:0}.extension .options,.hotfix .options{border-top-style:dashed;border-top-width:1px}.extension h3>em{font-style:normal}.extension .data-list{list-style-type:none;padding-left:0}.ct-box{border-style:solid;border-width:1px;-moz-border-radius:.35em;-webkit-border-radius:.35em;-khtml-border-radius:.35em;border-radius:.35em;margin:1.417em;padding:.5em 1em;position:relative}.ct-box li{padding:0;margin:0 0 .7em 0}.ct-set{border-style:solid;border-width:1px;margin:1.417em;padding:0 0 0 17em;position:relative}.ct-group{border-style:solid;border-width:1px;margin:1.417em}.frm-group .ct-set{border-style:dashed none none none;margin:0}.ct-group .ct-set{border-style:dashed none none none;margin:0 1em;padding:0 0 0 16em}.ct-group .group-item1{border:0}.ct-group .set1,.frm-group .set1{border-top:0}.ct-group .ct-box,.frm-group .ct-box{border-style:none;margin:0}.ct-group .ct-set .ct-box,.ct-set .ct-box,.frm-group .ct-set .ct-box{border-style:none;margin:0}
   2: .ct-group .set1{border-top:0}.ct-set .ct-legend{float:left;margin-left:-17em;width:16em;position:relative;text-align:right;font-weight:bold}.ct-set ul{padding-left:0;list-style:none}.ct-box div{padding:.35em 0}.ct-box p.options{float:none}.ct-box .info-list{padding-bottom:0}.user-ident{padding-left:0;list-style:none}.user-ident .username a,.user-ident .username strong{font-size:1.5em;font-weight:normal}.user-ident .username a,.user-ident .username a:link,.user-ident .username a:visited{text-decoration:none}.user-ident .username a:hover,.user-ident .username a:active,.user-ident .username a:focus{text-decoration:underline}.user-ident .usertitle{font-weight:bold}.user-ident .useravatar{padding:.25em 0}.user-ident .useravatar img{display:block}.main-message{padding:.5em 1.417em}.main-message p span{display:block;padding-top:.5em}#brd-maint .main-message{padding:0}#brd-navlinks,.main-menu,.admin-menu{padding:0 .75em}.main-menu,.admin-menu{border:0}#brd-navlinks ul,.main-menu ul,.admin-menu ul{list-style-type:none;float:left;padding:0}#brd-navlinks li,.main-menu li,.admin-menu li{float:left;display:inline}#brd-navlinks a,.main-menu a,.admin-menu a{float:left;position:relative;padding:.55em .7em}#brd-navlinks a{padding:.43em .7em}#brd-navlinks li.first-item,.main-menu li.first-item,.admin-menu li.first-item{border-left:0}.admin-submenu{border-style:solid;border-width:0 1px}.admin-submenu ul{padding:.5em 0;list-style:none}.admin-submenu li{display:inline;margin-right:.75em}.admin-submenu .active a{font-weight:bold}#brd-head{padding-bottom:.75em;padding-top:1em;border-radius:.4em .4em 0 0}#brd-title{padding-bottom:0}#brd-title a,#brd-title strong{font-size:1.5em;text-decoration:none;font-weight:normal}#brd-desc{padding-top:0;padding-bottom:0}#brd-navlinks ul{margin:0;float:left}#brd-navlinks li{display:inline}#brd-navlinks li a{text-decoration:none}ul#brd-admod{float:right;text-align:right}#brd-access{text-align:right;padding:0;height:0;margin:0;position:absolute;background:transparent}#brd-access a,#brd-access a:link,#brd-access a:visited{height:2em;line-height:2em;position:absolute;left:-999em;margin:1px;width:12em}#brd-access a:hover,#brd-access a:active,#brd-access a:focus{text-indent:0;background:#000;position:static;float:right}#brd-visit #welcome{float:left}#brd-visit #visit-links{text-align:right;float:none}#brd-pagepost-end{border-top:0}#brd-pagepost-top{border-bottom:0}#brd-admin-bans #brd-pagepost-end{margin-top:-1em}.paging{float:left}.posting{text-align:right;float:right}.paging{white-space:nowrap}.paging a,.paging strong,.paging span{padding:0 1em;border-left-style:solid;border-left-width:1px;float:left;white-space:nowrap}.paging .first-item,.paging span.pages{border-left:0;padding-left:0}.posting .newpost{font-size:1.084em;font-weight:bold}.crumbs .crumblast span{font-weight:normal}.crumbs span,.crumbs a{white-space:nowrap}.crumbs{margin:.5em 0;padding:0 1.417em;font-size:1.084em}#brd-crumbs-top .crumblast{font-size:1.15em}#brd-stats ul{list-style:none;padding-left:0}#brd-stats ul li.st-users{float:left;clear:both;white-space:nowrap}#brd-stats ul li.st-activity{text-align:right;display:block;white-space:nowrap}#brd-stats li strong{font-weight:bold}#brd-online{padding-top:.5em;padding-bottom:.5em;border-top:0}#brd-online .hn,#brd-online p{padding-bottom:0;padding-top:0}#brd-online .hn{float:left;margin-right:.5em}#qjump{float:left;padding:.5em 0}#qjump div,#qjump label{padding:0;border:0}#copyright{text-align:right;margin:0}#querytime{text-align:right;font-size:.917em;padding:0}#extensions-used{border-bottom:1px dotted}p.options{border-top:0;float:right}.main-modoptions .options{text-align:center}a.feed{padding-left:22px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAVZQTFRFzF0V2XIp2l4q3GEr3W4v3mUs3m8v3nAw33Ew4Got4HVF4XQw4Xgx4nA24nYx424u43kx43ky5Hsy5HxH5XQu5Xwy5X0y5nQv5n8z5otg53gv54Ez6Hkx6II06IM06IU16IlV6X456YU16Yg26n0x6oc16olJ638y64k17IEy7Io27JZj7oUz7oU07pFM7ppk7quJ7rKV741B751k8Ik08Ys18beX8o018pNC8qNm86Rn9JE29KZn9Kxz9LKA9L2Y9ZI39alo9b+Z9cCY9pQ39ptE95c496FQ961p98OZ99S++Jk5+J5E+K9p+LR1+L+O+Zo5+Z1B+Z9F+aVS+cib+de/+pw5+qJG+qxe+rNq+r6D+sOP+s6n+tOz+506+6lS+69e+7l3++bY/MKE/Nm1/OPN/dq1/d/B/eXN/fHm/ubO/uza/vHm/vLm/vfy/vjy//nz////L/lnWgAAAAJ0Uk5TEI9BVkHYAAAA50lEQVQY0yXOu07DMBSA4XNxnDtE4bYBFYxMMPAaPCoPg5gqBgRDSVtok1McO3awxPj904+ApSJFzIqZxrcZ8brXRcIZq5wK7Z65Cu1Vy/TvbBiV0vU9QPjcYfRGmIsjtkDJ8ZkO0bLnukL73f1WKoNOxPQxNI9taUTr9Gdr7IE4S6g6v21MDwtvZYoD9nU1YWOXhhpxnpTK58OX4Kl5gTtnvOKcFjyu00SvPOf7mZhOijTZvsOFLKGZAsW/GQbpoHZrwBDw5iET2RibTR9K70yC+GTjjxVn7BTmckDAS3bOT977ENjOfw1gcm/NBi+EAAAAAElFTkSuQmCC) center left no-repeat}.content-options,.ct-options{float:right;margin-top:-2.6em;padding:.5em 1.417em;position:relative}.item-summary{height:2.5em;padding:0;position:relative;font-size:1em}.item-summary span{width:100%;position:absolute;left:-999em;text-indent:-999em;display:block}.item-summary strong{position:absolute;left:999em;text-indent:0;padding:.5em 0;white-space:nowrap;font-weight:normal}
   3: .item-summary strong:first-letter {text-transform:uppercase}.item-summary .subject-title{padding-left:1.417em}.item-summary .info-topics,.item-summary .info-replies{margin-left:100%;text-align:center;width:7em;left:965em}.item-summary .info-forum{margin-left:100%;text-align:center;width:20em;left:952em}.item-summary .info-posts,.item-summary .info-views{margin-left:100%;text-align:center;width:7em;left:972em}.item-summary .info-lastpost{margin-left:100%;left:980em}p.forum-noview .info-replies{left:972em}.main-content .main-item{border-top-style:solid;border-top-width:1px;overflow:hidden;position:relative;line-height:1.4em}.main-content .main-first-item{border-top:0}.main-content .main-item ul{float:right;position:relative;padding:0;list-style:none}.main-content .main-item p,.main-content .main-item .hn{padding:0}.hn .item-status{font-weight:normal}.hn .item-status em{font-style:normal}.main-item .item-subject,.main-content .main-item li{float:left;border-left-style:solid;border-left-width:1px;margin:0 -2px -9.7em 0;position:relative;padding-top:.6em;padding-bottom:10.4em}.main-item .item-subject{overflow:hidden;width:100%}li.info-topics,li.info-posts,li.info-views,li.info-replies{width:7em;text-align:center}li.info-forum{width:20em;text-align:center}li.info-lastpost{width:20em}li.info-lastpost cite{overflow:hidden;width:18em}.main-item li strong{font-weight:normal}.main-content .main-item{padding-right:35em;padding-left:3.75em}.main-content .main-item .hn{position:relative}.main-content .main-item ul{width:34em;right:-35em;margin-left:-34em}.forum-noview .main-item{padding-right:28em}.forum-noview .main-item ul{width:27em;right:-28em;margin-left:-27em}.forum-forums .main-item{padding-right:48em}.forum-forums .main-item ul{width:47em;right:-48em;margin-left:-47em}.item-subject span.modlist{display:block}#brd-index .main-item .hn span{font-size:1.084em;font-weight:bold}#brd-index .main-item .hn small{font-size:1em}.item-status{font-weight:bold}.main-content .main-item cite{font-style:normal}.item-nav,.item-nav a,.item-nav span{white-space:nowrap;font-style:normal}.item-subject .hn,.item-subject p{margin:0 0 0 1.5em}li.info-lastpost cite,li.info-lastpost span,li.info-forum a{display:block;padding:0 1em;font-style:normal;font-weight:normal}li.info-lastpost strong{padding:0 0 0 1em;font-style:normal;font-weight:normal}.main-item li.info-select{position:absolute;right:0;top:0;padding:.3em;border-style:none none solid solid;border-width:1px}.main-content .main-item .icon{border-style:solid;border-width:.5833em;height:0;width:0;float:left;margin-top:.667em;margin-left:-2.417em}.main-content .main-item .hn .posted-mark{position:absolute;font-size:2em;width:1em;left:-0.5em;top:0}.frm-group{border-top-style:dashed;border-top-width:1px;margin:1.417em;padding:1.3em 0 0}.group1{border-top:0;padding-top:0}.sf-box,.mf-box,.txt-box{margin:1.417em;padding:.5em 0;position:relative}.sf-set,.mf-set,.txt-set{margin:1.417em;padding:0 0 0 17em;position:relative}.sf-set .sf-box,.mf-set .mf-box,.txt-set .txt-box{margin:0}.frm-group .sf-set,.frm-group .mf-set,.frm-group .txt-set{margin:0}.text input{font-size:1.084em}select{height:25px;*height:auto;line-height:25px;padding-left:3px}optgroup{font-weight:bold}.frm-buttons{margin:.75em 1.417em .8em 1.417em;position:relative;border-top-style:solid;border-top-width:1px;padding:1.1em 0 .3em 18em}.frm-buttons .submit{margin-right:.75em}.frm-buttons .primary{margin-right:2em}.submit input,.cancel input{overflow:visible;padding-left:.5em;padding-right:.5em;font-size:1.084em}.button-set .submit{padding-left:1em}button{width:auto;overflow:visible}label,input[type="button"],input[type="submit"],button,select{cursor:pointer}input[type="submit"],input[type="button"],input[type="reset"],button{display:inline-block;vertical-align:baseline;text-align:center;text-decoration:none;padding:.5em .6em;-moz-border-radius:2px;-webkit-border-radius:2px;-khtml-border-radius:2px;border-radius:2px;border-style:solid;border-width:1px;-webkit-appearance:button;line-height:normal}input[type="submit"]::-moz-focus-inner,input[type="button"]::-moz-focus-inner,input[type="file"]::-moz-focus-inner,input[type="reset"]::-moz-focus-inner,button::-moz-focus-inner{border:0;padding:0}input[type="submit"]:active,input[type="button"]:active,input[type="reset"]:active,button:active{position:relative;top:1px}input[type="submit"][disabled]:active,input[type="button"][disabled]:active,input[type="reset"][disabled]:active,button[disabled]:active{position:relative;top:0}.primary input[type="submit"],.primary input[type="button"],.primary input[type="reset"],.primary button{padding-left:1.2em;padding-right:1.2em}
   4: .js_link{border-bottom-style:dashed;border-bottom-width:1px}.sf-box label,.sf-box .aslabel{float:left;padding:0}.sf-set .checkbox label{padding:2px 0 2px 2.7em}.sf-set .text label span,.sf-set .select label span,.sf-set .aslabel span{float:left;margin-left:-17em;display:block;position:relative;padding:2px 0 2px 1em;width:16em;text-align:right}.sf-set .checkbox label span{float:left;margin-left:-18em;display:block;position:relative;padding:0 0 0 2em;width:16em;left:-3em;text-align:right;font-weight:bold}.sf-set .text label small,.sf-set .select label small{display:block;text-align:left;position:relative;margin:2em 1em 0 1em;padding-top:.25em;font-size:.917em}.sf-set .fld-input{position:absolute;top:0;left:0;display:block;padding:.5em 1em}.sf-set .checkbox input{margin:.2em 0 .2em -.1em}.sf-set .text input:not([title]){height:100%}.sf-set .sf-short input{width:4em}.sf-set .sf-short label small{font-size:1em;padding:2px 0;margin:0 1em 0 7em}input[type="radio"]{vertical-align:middle;bottom:1px}input[type="checkbox"]{vertical-align:middle;bottom:1px}table input[type="checkbox"]{vertical-align:baseline}.mf-box .mf-item{position:relative;top:-0.166em;padding:.3em 0}.mf-set legend{position:absolute;height:0;background:transparent}.mf-set legend span{position:absolute;left:-17em;width:16em;padding:.5em 1em;margin:1px 0 2px 0;overflow:hidden;display:block;text-align:right;font-weight:bold}.mf-set legend span em{display:block;white-space:normal;font-style:normal;font-weight:normal;font-size:.917em}.mf-item .fld-input{position:absolute;top:.25em;left:0;display:block;padding:0 1em}.mf-item input{margin:.1em 0 .1em -.1em}.mf-item label{padding:1px 0 1px 2.7em;float:left}.mf-set .mf-yesno .mf-item{width:11em;float:left}.mf-set .mf-field{float:left;padding:0 1em 0 1em;border-left:1px solid #ccc}.mf-set .mf-field1{border-left:none}.mf-set .mf-field label,.mf-set .mf-field .aslabel{position:absolute;top:-2em;display:block}.mf-set .mf-cell .fld-input{position:static;padding:0 0 0 1em;border-left:1px solid #ccc}.frm-hdgroup{padding-top:2em}.sf-set .sf-box .sf-forum{width:25em}.mf-set .mf-box .forum-field{width:25em}.checklist{min-height:6em;max-height:9em;max-width:30em;overflow:auto;border-style:solid;border-width:1px;position:relative;padding:.25em .5em;margin:0 1em}.checklist fieldset{height:auto}.checklist legend,.checklist legend span{font-weight:bold;position:static;padding:0;height:auto;text-align:left}.checklist legend span{width:auto;max-width:25em}.checklist-item{position:relative;height:auto}.checklist-item label{display:block;padding:0 0 0 2.25em;float:none;height:100%}.checklist-item .fld-input{position:absolute;left:0;top:0;padding:0;margin:0}.checklist-item input{margin:0}.txt-box label{float:left}.txt-set label span{float:left;margin-left:-17em;display:block;position:relative;padding:2px 1em;width:16em;text-align:right}.txt-set label small{display:block;text-align:left;position:relative;margin:0 1em 0 -1px;padding:2px 1.25em;font-size:.917em;z-index:100}.txt-set .txt-input{position:relative;width:100%}.txt-set .fld-input{display:block;padding:0 0 0 1em}.txt-set textarea{width:95%;resize:vertical}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="search"],input[type="number"],textarea{border-width:1px;border-style:solid;padding:.25em}#quick-search{padding:.1em .2em}.req-warn{display:none}#req-msg p em,.required label span em{font-style:normal;font-weight:normal}.required label span em{float:left;font-size:.917em;line-height:1.2em;width:100%;position:relative}.req-error{display:block}.required label span{font-weight:bold}.post{border-style:solid;border-width:1px;position:relative;margin:1.417em;margin-top:-1.417em}.firstpost,.singlepost{margin-top:1.417em}.main-topic .lastpost{border-bottom:0}.main-topic .post{border-style:solid none;margin:0}.main-topic .firstpost{border-top:0}.posthead{margin-left:18em;border-style:none none none solid;border-width:1px}.posthead .hn{padding-right:1.5em;padding-left:1em;border-style:none none dashed none;border-width:1px}.posthead .post-byline a,.posthead .post-byline strong{font-size:1.167em;font-weight:bold;text-decoration:none;font-style:normal}.posthead .post-byline{float:left;width:15.5em;padding:.5em 1em .5em 1.5em;margin-left:-19em;margin-top:-0.5em;position:relative;left:-1px;overflow:hidden}.posthead .post-num{float:right}#brd-modtopic .posthead .hn{padding-right:2.7em}.post-title{padding:0 1.5em .5em 1em;margin-top:-1px;position:relative}.post-title span{display:block;width:100%;overflow:hidden}.post-title a{font-size:1em;text-decoration:none;font-weight:bold}.post-title small,.post-title small a{font-size:1em;font-weight:normal;white-space:nowrap}.posthead p.item-select{position:absolute;top:0;right:.75em;height:2.5em}
   5: .postbody{margin-left:18em;position:relative;border-left-style:solid;border-left-width:1px;padding:.5em 1.5em 0 1em;clear:both}.postfoot{padding-left:18em;border-top-style:none;border-top-width:1px;position:relative}.postfoot .post-options{border-left-style:solid;border-left-width:1px}.postbody .post-author{float:left;width:15.5em;margin-left:-19em;left:-1px;position:relative;padding:0 1em .5em 1.5em;overflow:hidden;margin-top:-1em}.postbody .post-author ul{margin:0;padding:0 0 .5em 0;list-style:none}.author-ident .useravatar img{display:block;padding:.5em 0}.author-ident .username{display:none}.author-ident .usertitle{font-weight:bold;line-height:normal}.author-ident .userstatus{padding:.75em 0 .25em 0;margin:0;line-height:.75em;width:100%}.author-ident .userstatus span{font-size:.917em;display:block;border-left-style:solid;border-left-width:.7em;text-indent:.5em}.author-info li span strong{font-weight:normal}.online .author-ident .userstatus span{font-weight:bold}.postfoot .post-contacts{float:left;margin-left:-18em;width:15.5em;padding:.5em 1em .5em 1.5em;position:relative;left:-1px}.postfoot .post-actions{padding:.5em 1.5em .5em 1em;text-align:right;display:block;float:right}.postfoot .post-actions>span{margin-left:.75em}.postfoot .post-contacts>span{margin-right:.75em}.entry-content{padding-bottom:2em;overflow:hidden;width:100%;min-height:7em}#brd-help .entry-content{min-height:4em}.entry-content ol{padding-left:2.5em;list-style-type:decimal}.entry-content ol p,.entry-content ul p{padding:0}.entry-content ol.alpha{list-style-type:upper-alpha}.entry-content h5{font-weight:normal;font-size:1.5em;line-height:1.5em}.entry-content img{vertical-align:text-top;max-width:100%}.entry-content .quotebox,.entry-content .codebox{border-style:solid;border-width:1px;margin:.75em 1em;padding:1em .75em}.entry-content .codebox{font-size:.97em}.entry-content blockquote{overflow:hidden;width:100%}.entry-content .quotebox cite{display:block;font-style:normal;font-weight:bold}.entry-content pre{margin:0;max-height:35em;min-height:2em;overflow:auto;padding:0 2% .1em 0;width:98%}.entry-content span.bbu{text-decoration:underline}.entry-content br,.sig-demo br,.user-box br,.main-message br{display:inline}.sig-content{padding-top:2em;font-size:.95em}.sig-content a,.sig-demo a{border-bottom:solid;border-width:1px}span.sig-line{display:block;width:200px;border-top-style:solid;border-top-width:1px;padding-bottom:.5em}table{width:100%;table-layout:fixed;empty-cells:show;border-spacing:0;line-height:1.3333em;border-collapse:collapse}td{overflow:hidden;vertical-align:middle}table caption{display:none}#brd-userlist table .tc0{width:30%}#brd-userlist table .tc1{width:20%;text-align:left}#brd-userlist table .tc2{width:10%;text-align:center}#brd-debug table{border:0;font-size:.95em}#brd-debug .tcl{white-space:nowrap;width:10%}#brd-debug .tcr{white-space:normal;width:90%}#brd-admin-uresults table .tc0,#brd-admin-iresults table .tc0{width:45%}#brd-admin-uresults table .tc1,#brd-admin-iresults table .tc1,#brd-admin-iresults table .tc2{width:20%}#brd-admin-uresults table .tc2,#brd-admin-uresults table .tc4{width:10%;text-align:center}#brd-admin-uresults .tc3{width:15%}#brd-admin-uresults td.tc0 span,#brd-admin-uresults td.tc3 span{display:block;white-space:nowrap}#brd-admin-iresults table .tc0{width:25%}#brd-admin-iresults table .tc1{width:25%}#brd-admin-iresults table .tc2{width:20%}#brd-admin-iresults .tc3{width:30%}.main-content th{font-size:1.084em;padding:.462em 1.417em;font-weight:normal}td{padding:.5em 1.417em;border-width:1px;border-style:solid none none solid}td.tc0{border-left-style:none;border-left-width:0}th{padding:.5em 1.3em;border-style:none}td.actions,th.actions{text-align:right}td.actions span{display:block}.report{margin-left:4em}.report h3 span{display:block;font-style:normal}.report h3 cite{font-style:normal;font-size:1.084em;font-weight:bold}.report h3 strong{position:absolute;left:-3.1em;width:1.5em;text-align:right;font-size:1.167em}.report p strong{display:block;font-weight:normal;margin-top:1em}.report h4{border-bottom-style:dashed;border-bottom-width:1px}#brd-admin-reports .frm-buttons{margin-left:4em;margin-top:0}#brd-admin-reports .select-all{float:right}.report .item-select{position:absolute;top:0;right:.75em;height:2.5em}.help-box samp{display:block;margin-left:1.5em}.help-box h5 samp{margin-left:1.417em}.help-box code{font-family:courier;font-size:1.084em}.help-box .entry-content{padding:0}.help-box .hn{padding-bottom:.5em;border-bottom-style:dashed;border-bottom-width:1px;margin-bottom:.5em;color:#294f6e}#brd-messages{text-align:center;position:fixed;top:0;z-index:999;padding:0;left:0;right:0}#brd-messages span{text-align:center;padding:.35em 1.3em;margin:0 1em;font:87%/1.5em Arial,sans-serif;font-weight:bold;line-height:2em;border-width:1px;border-style:solid}.ie6 a.feed,.ie7 a.feed{background:url(feed-icon.png) center left no-repeat}.ie6 .brd-page,.ie6 .main,.ie6 #brd-index .main-subhead,.ie6 .main-content .main-item,.ie6 .main-content .main-item ul,.ie6 .gen-content,.ie6 .main-content,.ie6 .ct-box,.ie6 .frm-group,.ie6 .mf-set,.ie6 .sf-set,.ie6 .mf-box,.ie6 .sf-box,.ie6 .mf-item,.ie6 .txt-set,.ie6 .txt-box,.ie6 .frm-form label,.ie6 fieldset,.ie6 span.fld-input,.ie6 .main-subhead .hn,.ie6 .post,.ie6 .posthead,.ie6 .postbody,.ie6 .post-entry,.ie6 .postfoot .post-options{zoom:1}
   6: .ie6 .ct-box ol,.ie6 .ct-box ol li{zoom:normal}.ie6 .postfoot .post-contacts{position:absolute}.ie6 #brd-wrap fieldset{padding-top:1px;position:relative}.ie6 fieldset legend{margin-left:-7px}.ie6 #brd-wrap .checklist{height:9em;width:30em;overflow:auto}.ie6 .sf-set .checkbox label span{padding-right:0;padding-left:5em}.ie6 #info-censored-intro,.ie6 #info-ranks-intro{margin-bottom:3em}.ie6 .important strong{margin-right:1ex}.ie6 #brd-stats .st-users{margin-bottom:-1ex}.ie6 .txt-box label span{position:absolute}.ie6 #brd-index .main-head{position:relative}.ie6 input{vertical-align:text-bottom}.ie6 #extensions-used{clear:left}.oldie textarea{overflow:auto}.ie7 .brd-page,.ie7 .main,.ie7 #brd-index .main-subhead,.ie7 #brd-index .forum-item,.ie7 .gen-content,.ie7 .main-content,.ie7 .ct-box,.ie7 .frm-group,.ie7 .mf-set,.ie7 .sf-set,.ie7 .mf-box,.ie7 .sf-box,.ie7 .mf-item,.ie7 .txt-set,.ie7 .txt-box,.ie7 .frm-group label,.ie7 fieldset,.ie7 span.fld-input,.ie7 .main-subhead .hn,.ie7 .post,.ie7 .posthead,.ie7 .postbody,.ie7 .post-entry,.ie7 .postfoot .post-options,.ie7 #brd-stats ul{max-height:100%;zoom:1}.ie7 #brd-wrap fieldset{padding-top:1px;position:relative}.ie7 fieldset legend{margin-left:-7px}.ie7 .entry-content .codebox pre{min-height:3em}.ie7 #info-censored-intro,.ie7 #info-ranks-intro{margin-bottom:3em}.ie7 .main-forum .main-item .item-starter{margin-left:1ex}.ie7 #brd-admin-settings-setup #fld19,.ie7 #brd-post textarea#fld1,.ie7 #brd-post textarea#fld2,.ie7 #brd-viewtopic textarea#fld1,.ie7 #brd-postedit #fld2{margin-top:-19px}.ie7 .item-starter{position:relative;left:-0.5em}.ie7 input[type="checkbox"]{vertical-align:baseline}body{background:#fff;color:#222}a:focus{outline:0}a:link,a:visited,.js_link{color:#00579c;text-decoration:none}a:hover,a:active,a:focus{color:#cd0021;text-decoration:underline}.js_link{cursor:pointer;border-color:#00579c;-moz-user-select:none;-webkit-user-select:none;user-select:none}.js_link:hover{color:#cd0021;border-color:#cd0021}.entry-content a:visited{color:#909}.entry-content a:visited:hover{color:#cd0021}.sig-content a,.sig-content a:visited{color:#999;border-color:#ddd}.sig-content a:hover,.sig-content a:active,.sig-content a:focus,.sig-content a:visited:hover{color:#333;border-color:#999;text-decoration:none}.entry-content h5{color:#d93315}.gen-content,.main-content{background:#fbfbfb;border-color:#d3dae1;border-bottom-color:#cbd1d8}.main-pagepost{background:#fff;border-color:#dde4eb}#brd-crumbs-top .crumblast a,#brd-crumbs-top .crumblast a:hover{color:#111;text-decoration:none}.main-item,.main-item li,.main-item div,td{border-color:#dde4eb}.main-content .main-item .item-nav{color:#888}.main-content .sticky{background:#f2f4fa}.main-content .main-item .hn .item-status em.sticky,.main-content .main-item .hn .item-status em.closed{color:#314b60;font-weight:bold}.main-content .main-item .hn .item-status em.moved{color:#666}.post div,h3.post-ident,h4.post-title,.posthead h3,.userstatus span,.sig-line{border-color:#dde4eb}.post-num,.post-edit{color:#999}.post{border-color:#dde4eb;border-top-color:#fff;border-bottom-color:#ccc;background:#edf1f5}#topic-review .firstpost,.singlepost{border-top-color:#dde4eb;border-bottom-color:#dde4eb}.posthead,.postbody,.post-options{background:#fafafa}.posthead .hn{background:#f1f1f1}.post-title small{color:#999}.sig-content{color:#999}.sig-demo{color:#333}.sig-demo a,.sig-demo a:visited{color:#333;text-decoration:none;border-color:#bbb}.online .userstatus span{border-color:#3f9439}.ct-box,.ct-set,.ct-group,.frm-group{border-color:#dbe0e4}.admin-page .ct-box{background:#feffe6}.admin-page .ct-set .ct-box,.report{background:#f4f9fd}.admin-page .warn-set .warn-box{background:#feffe6}.main-frm .ct-group,#brd-announcement{background:#f4f9fd}.main-content .info-box{background:#ffffe1}.main-extensions .extension,.main-hotfixes .hotfix{background:#f4f9fd}.main-extensions .disabled,.main-hotfixes .disabled{background:#ffffe1}.warn-group,.warn-set,.warn-box,.error-box,#admin-alerts{background:#feffe6;border-color:#f4ebce}.warn-group,.warn-set,.warn-box,.error-box{border-color:#e6d190}.info-list li,.error-list li{color:#5d5636}.info-list li span,.error-list li span{color:#5d5636}ul li strong{color:#222}.user-box{background:#f4f9fd}.ct-box .hn{border-color:#dbe0e4;color:#333}.error-box .hn{color:#222}.help-box{background:#f4f4f4}.help-box .hn{color:#294f6e}#rules-content{background:#fff}.frm-buttons,.extension .options,.hotfix .options,#rules-content{border-color:#e3e3e3}.checklist{background:#fff;border-color:#ccc}label,.aslabel,.mf-set legend,.ct-legend,.ct-legend span,.ct-legend cite,.ct-legend strong{color:#333}.paging span,.paging a,.paging strong{border-color:#dedfdf}.required label em,#req-msg em,.warn strong,.important strong{color:#b42000}.sf-set .text label small,.sf-set .select label small,.txt-set .textarea label small{color:#999}.entry-content .quotebox,.entry-content .codebox{background:#fff;border-color:#ddd}#brd-announcement .userbox{background:#f4f9fd none repeat scroll 0 0}
   7: .main-content .main-item .hn .posted-mark{color:#99C}.lastedit em{font-size:.95em;font-style:normal;color:#999}.user-ident .username strong{color:#222}#brd-navlinks{border-color:#376daa}#brd-navlinks a:link,#brd-navlinks a:visited{color:#eee;text-decoration:none}.main-options,.main-options span{background:#f1f1f1}#brd-navlinks,.main-menu,.admin-menu,.main-head,.main-foot{background-color:#0066b9;background-image:-moz-linear-gradient(bottom,#2a6ab8 0,#4795cc 100%);background-image:-ms-linear-gradient(bottom,#2a6ab8 0,#4795cc 100%);background-image:-o-linear-gradient(bottom,#2a6ab8 0,#4795cc 100%);background-image:-webkit-gradient(linear,0 100%,0 0,from(#2a6ab8),to(#4795cc));background-image:-webkit-linear-gradient(bottom,#2a6ab8 0,#4795cc 100%);background-image:linear-gradient(bottom,#2a6ab8 0,#4795cc 100%)}.admin-submenu{background:#e4e4ec;border-color:#d3dae1}#brd-navlinks a:link,#brd-navlinks a:visited,.main-menu a:link,.main-menu a:visited,.admin-menu a:link,.admin-menu a:visited{color:#eee;text-decoration:none;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}#brd-navlinks a:hover,#brd-navlinks a:active,#brd-navlinks a:focus,.main-menu a:hover,.main-menu a:active,.main-menu a:focus,.admin-menu a:hover,.admin-menu a:active,.admin-menu a:focus{color:#fff}#brd-navlinks .isactive a,.main-menu .active a,.admin-menu .active a{color:#fff;background:#2a6ab8}#brd-admod #alert a{color:yellow;font-weight:bold}#brd-head{background:#f5f5f5;color:#222}#brd-head a,#brd-head a:link,#brd-head a:visited{color:#222}.main-head,.main-foot{color:#fff;border-color:#4a86c1;text-shadow:0 -1px 0 rgba(0,0,0,0.15)}#brd-announcement h1{border-color:#bbb}.main-subhead{border-color:#d3dae1 #D3DAE1 #cbd1d8 #D3DAE1;background:#f4f4f4}.column-title{border-color:#f4f4f4 #F4F4F4 #cbd1d8 #F4F4F4;background:#f4f4f4}.group-head{background:#edf1f5;border-color:#dbe0e4}.content-head .hn{border-color:#dbe0e4;color:#666}.main-head a:link,.main-head a:visited,.main-foot .options a:link,.main-foot .options a:visited,.main-head .js_link,.main-foot .options .js_link{color:#ddd}.main-head .js_link,.main-foot .options .js_link{border-color:#ccc}.main-head a:hover,.main-head a:active,.main-head a:focus,.main-head .js_link:hover,.main-foot .options a:hover,.main-foot .options a:active,.main-foot .options a:focus,.main-foot .options .js_link:hover{color:#fff}.main-head .js_link:hover,.main-foot .options .js_link:hover{border-color:#fff}th{background:#f4f4f4}.main-frm .ct-group td{background:#fbfbfb}#extensions-used{border-bottom-color:#999}.main-content .main-item .icon{border-color:#edf1f5 #DDE0E4 #c6cbd3 #BABFC6}.main-content .redirect .icon{border-color:#f4f4f4 #f4f4f4 #f4f4f4 #f4f4f4}.main-content .sticky .icon{border-color:#d7e5f3 #C3CFDc #9fb3c7 #90A2B4}.main-content .closed .icon{border-color:#acacac #979797 #898989 #7A7A7A}.main-content .sticky.closed .icon{border-color:#d7e5f3 #C3CFDc #898989 #7A7A7A}.main-content .new .icon{border-color:#0080d7 #0065C0 #0058b3 #0072CA}.checklist-item label{background:#fff}.checklist-item label:hover{background:#edf1f5}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="number"],input[type="search"],textarea{border-color:#d3dae1}input[type="text"]:active,input[type="text"]:focus,input[type="password"]:active,input[type="password"]:focus,input[type="email"]:active,input[type="email"]:focus,input[type="url"]:active,input[type="url"]:focus,input[type="search"]:active,input[type="search"]:focus,input[type="number"]:active,input[type="number"]:focus,textarea:active,textarea:focus{border-color:#c8d3dc #D3DAE1 #d3dae1 #C8D3DC;box-shadow:0 1px 2px rgba(0,0,0,0.1) inset;background:#fffff3;background-image:-moz-linear-gradient(top,#fffee8,#fff);background-image:-ms-linear-gradient(top,#fffee8,#fff);background-image:-o-linear-gradient(top,#fffee8,#fff);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fffee8),to(#fff));background-image:-webkit-linear-gradient(top,#fffee8,#fff);background-image:linear-gradient(top,#fffee8,#fff)}input[type="submit"],input[type="button"],input[type="reset"],button{color:#404040;border-color:#ccc;background:#f6f6f6;background-image:-moz-linear-gradient(top,#fff,#eee);background-image:-ms-linear-gradient(top,#fff,#eee);background-image:-o-linear-gradient(top,#fff,#eee);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#eee));background-image:-webkit-linear-gradient(top,#fff,#eee);background-image:linear-gradient(top,#fff,#eee);text-shadow:0 1px 1px #ddd}
   8: .primary input[type="submit"],.primary input[type="button"],.primary input[type="reset"],.primary button{color:#fafafa;background:#4897d9;border-color:#2575ae;text-shadow:0 -1px 1px rgba(0,0,0,0.4);box-shadow:0 1px 0 rgba(255,255,255,0.2) inset,0 1px 2px rgba(0,0,0,0.05);background-image:-moz-linear-gradient(top,#5cb7f7,#4897d9);background-image:-ms-linear-gradient(top,#5cb7f7,#4897d9);background-image:-o-linear-gradient(top,#5cb7f7,#4897d9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5cb7f7),to(#4897d9));background-image:-webkit-linear-gradient(top,#5cb7f7,#4897d9);background-image:linear-gradient(top,#5cb7f7,#4897d9)}.primary.caution input[type="submit"],.primary.caution input[type="button"],.primary.caution input[type="reset"],.primary.caution button{border-color:#c0372a;background:#d95548;background-image:-moz-linear-gradient(top,#f7655b,#d95548);background-image:-ms-linear-gradient(top,#f7655b,#d95548);background-image:-o-linear-gradient(top,#f7655b,#d95548);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f7655b),to(#d95548));background-image:-webkit-linear-gradient(top,#f7655b,#d95548);background-image:linear-gradient(top,#f7655b,#d95548)}input[type="submit"]:hover,input[type="submit"]:focus,input[type="reset"]:hover,input[type="reset"]:focus,input[type="button"]:hover,input[type="button"]:focus,button:hover,button:focus{color:#101010;background:#f3f3f3;background-image:-moz-linear-gradient(top,#fff,#ebebeb);background-image:-ms-linear-gradient(top,#fff,#ebebeb);background-image:-o-linear-gradient(top,#fff,#ebebeb);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#ebebeb));background-image:-webkit-linear-gradient(top,#fff,#ebebeb);background-image:linear-gradient(top,#fff,#ebebeb);border-color:#84bce4;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.1)}.primary input[type="submit"]:hover,.primary input[type="submit"]:focus,.primary input[type="reset"]:hover,.primary input[type="reset"]:focus,.primary input[type="button"]:hover,.primary input[type="button"]:focus,.primary button:hover,.primary button:focus{color:#fff;text-shadow:0 -1px 1px rgba(0,0,0,0.4);border-color:#2575ae;background:#2e8bd9;background-image:-moz-linear-gradient(top,#5cb7f7,#2e8bd9);background-image:-ms-linear-gradient(top,#5cb7f7,#2e8bd9);background-image:-o-linear-gradient(top,#5cb7f7,#2e8bd9);background-image:-webkit-gradient(linear,0 0,0 100%,from(#5cb7f7),to(#2e8bd9));background-image:-webkit-linear-gradient(top,#5cb7f7,#2e8bd9);background-image:linear-gradient(top,#5cb7f7,#2e8bd9);-webkit-box-shadow:0 1px 0 rgba(255,255,255,0.2) inset,0 1px 2px rgba(0,0,0,.2);box-shadow:0 1px 0 rgba(255,255,255,0.2) inset,0 1px 2px rgba(0,0,0,.2)}.primary.caution input[type="submit"]:hover,.primary.caution input[type="submit"]:focus,.primary.caution input[type="button"]:hover,.primary.caution input[type="button"]:focus,.primary.caution input[type="reset"]:hover,.primary.caution input[type="reset"]:focus,.primary.caution button:hover,.primary.caution button:focus{border-color:#c0372a;background:#d93d2e;background-image:-moz-linear-gradient(top,#f7655b,#d93d2e);background-image:-ms-linear-gradient(top,#f7655b,#d93d2e);background-image:-o-linear-gradient(top,#f7655b,#d93d2e);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f7655b),to(#d93d2e));background-image:-webkit-linear-gradient(top,#f7655b,#d93d2e);background-image:linear-gradient(top,#f7655b,#d93d2e)}input[type="submit"][disabled],input[type="button"][disabled],input[type="reset"][disabled],button[disabled]{border-color:#ccc;color:#999}input[type="submit"][disabled]:hover,input[type="submit"][disabled]:focus,input[type="reset"][disabled]:hover,input[type="reset"][disabled]:focus,input[type="button"][disabled]:hover,input[type="button"][disabled]:focus,button[disabled]:hover,button[disabled]:focus{color:#999}#querytime{color:#999}.quiet{color:#999}.loud{color:#000}#brd-debug th{background:#fff;border:0;border-bottom:2px solid #dde4eb;color:#111}#brd-debug td{background:#fff;border:0;border-bottom:solid 1px #eee;color:#666}
   9: #brd-messages span{color:#333;-webkit-border-bottom-right-radius:.3em;-webkit-border-bottom-left-radius:.3em;-moz-border-radius-bottomright:.3em;-moz-border-radius-bottomleft:.3em;border-bottom-right-radius:.3em;border-bottom-left-radius:.3em;-moz-box-shadow:0 2px 3px rgba(0,0,0,.2);-webkit-box-shadow:0 2px 3px rgba(0,0,0,.2);box-shadow:0 2px 3px rgba(0,0,0,.2)}#brd-messages .message_error{border-color:#ffe475;background:#ffbdac}#brd-messages .message_warning{border-color:#ffe475;background:#ffd0ac}#brd-messages .message_info{border-color:#ffe475;background:#ffc;background:-moz-linear-gradient(center top,#fffbea,#fef7cb);background:-o-linear-gradient(top,#fffbea,#fef7cb);background:-webkit-gradient(linear,0 0,0 100%,from(#fffbea),to(#fef7cb));background:-webkit-linear-gradient(top,#fffbea,#fef7cb);background:-ms-linear-gradient(top,#fffbea,#fef7cb);background:linear-gradient(top,#fffbea,#fef7cb)}::-moz-selection{background:#fff2a8;color:#000;text-shadow:none}::selection{background:#fff2a8;color:#000;text-shadow:none}
  0:  10: 


punbb-1.4.1/style/Oxygen/Oxygen.php punbb-1.4.2/style/Oxygen/Oxygen.php
  1: <?php  1: <?php
  2:   2: 
  3: $forum_loader->add_css($base_url.'/style/Oxygen/min/Oxygen.min.css', array('type' => 'url', 'group' => FORUM_CSS_GROUP_SYSTEM, 'media' => 'screen'));  3: $forum_loader->add_css($base_url.'/style/Oxygen/Oxygen.min.css', array('type' => 'url', 'group' => FORUM_CSS_GROUP_SYSTEM, 'media' => 'screen'));
  4:   4: 
  5: ?>  5: ?>


punbb-1.4.1/userlist.php punbb-1.4.2/userlist.php
  2: /**  2: /**
  3:  * Provides a list of forum users that can be sorted based on various criteria.  3:  * Provides a list of forum users that can be sorted based on various criteria.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
 24:  24: 
 25: // Miscellaneous setup 25: // Miscellaneous setup
 26: $forum_page['show_post_count'] = ($forum_config['o_show_post_count'] == '1' || $forum_user['is_admmod']) ? true : false; 26: $forum_page['show_post_count'] = ($forum_config['o_show_post_count'] == '1' || $forum_user['is_admmod']) ? true : false;
 27: $forum_page['username'] = (isset($_GET['username']) && $_GET['username'] != '-' && $forum_user['g_search_users'] == '1') ? $_GET['username'] : ''; 27: 
  28: $forum_page['username'] = '';
  29: if (isset($_GET['username']) && is_string($_GET['username'])) {
  30:     if ($_GET['username'] != '-' && $forum_user['g_search_users'] == '1') {
  31:         $forum_page['username'] = $_GET['username'];
  32:     }
  33: }
  34: 
 28: $forum_page['show_group'] = (!isset($_GET['show_group']) || intval($_GET['show_group']) < -1 && intval($_GET['show_group']) > 2) ? -1 : intval($_GET['show_group']); 35: $forum_page['show_group'] = (!isset($_GET['show_group']) || intval($_GET['show_group']) < -1 && intval($_GET['show_group']) > 2) ? -1 : intval($_GET['show_group']);
 29: $forum_page['sort_by'] = (!isset($_GET['sort_by']) || $_GET['sort_by'] != 'username' && $_GET['sort_by'] != 'registered' && ($_GET['sort_by'] != 'num_posts' || !$forum_page['show_post_count'])) ? 'username' : $_GET['sort_by']; 36: $forum_page['sort_by'] = (!isset($_GET['sort_by']) || $_GET['sort_by'] != 'username' && $_GET['sort_by'] != 'registered' && ($_GET['sort_by'] != 'num_posts' || !$forum_page['show_post_count'])) ? 'username' : $_GET['sort_by'];
 30: $forum_page['sort_dir'] = (!isset($_GET['sort_dir']) || strtoupper($_GET['sort_dir']) != 'ASC' && strtoupper($_GET['sort_dir']) != 'DESC') ? 'ASC' : strtoupper($_GET['sort_dir']); 37: $forum_page['sort_dir'] = (!isset($_GET['sort_dir']) || strtoupper($_GET['sort_dir']) != 'ASC' && strtoupper($_GET['sort_dir']) != 'DESC') ? 'ASC' : strtoupper($_GET['sort_dir']);
 63: $forum_page['users_searched'] = (($forum_user['g_search_users'] == '1' && $forum_page['username'] != '') || $forum_page['show_group'] > -1); 70: $forum_page['users_searched'] = (($forum_user['g_search_users'] == '1' && $forum_page['username'] != '') || $forum_page['show_group'] > -1);
 64:  71: 
 65: if ($forum_page['num_users'] > 0) 72: if ($forum_page['num_users'] > 0)
 66:     $forum_page['items_info'] = generate_items_info( (($forum_page['users_searched']) ? $lang_ul['Users found'] : $lang_ul['Users']), ($forum_page['start_from'] + 1), $forum_page['num_users']); 73:     $forum_page['items_info'] = generate_items_info((($forum_page['users_searched']) ? $lang_ul['Users found'] : $lang_ul['Users']), ($forum_page['start_from'] + 1), $forum_page['num_users']);
 67: else 74: else
 68:     $forum_page['items_info'] = $lang_ul['Users']; 75:     $forum_page['items_info'] = $lang_ul['Users'];
 69:  76: 
 97: // Setup breadcrumbs104: // Setup breadcrumbs
 98: $forum_page['crumbs'] = array(105: $forum_page['crumbs'] = array(
 99:     array($forum_config['o_board_title'], forum_link($forum_url['index'])),106:     array($forum_config['o_board_title'], forum_link($forum_url['index'])),
100:     array($lang_common['User list'], forum_link($forum_url['users']))107:     $lang_common['User list']
101: );108: );
102: 109: 
103: // Setup main heading110: // Setup main heading
207:             </fieldset>214:             </fieldset>
208: <?php ($hook = get_hook('ul_search_fieldset_end')) ? eval($hook) : null; ?>215: <?php ($hook = get_hook('ul_search_fieldset_end')) ? eval($hook) : null; ?>
209:             <div class="frm-buttons">216:             <div class="frm-buttons">
210:                 <span class="submit"><input type="submit" name="search" value="<?php echo $lang_ul['Submit user search'] ?>" /></span>217:                 <span class="submit primary"><input type="submit" name="search" value="<?php echo $lang_ul['Submit user search'] ?>" /></span>
211:             </div>218:             </div>
212:         </div>219:         </div>
213:         </form>220:         </form>
287:         ($hook = get_hook('ul_results_row_pre_data_output')) ? eval($hook) : null;294:         ($hook = get_hook('ul_results_row_pre_data_output')) ? eval($hook) : null;
288: 295: 
289: ?>296: ?>
290:                 <tr class="<?php echo ($forum_page['item_count'] % 2 != 0) ? 'odd' : 'even' ?><?php echo ($forum_page['item_count'] == 1) ? ' row1' : '' ?>">297:                 <tr class="<?php echo ($forum_page['item_count'] % 2 != 0) ? 'odd' : 'even' ?><?php if ($forum_page['item_count'] == 1) echo ' row1'; ?>">
291:                     <?php echo implode("\n\t\t\t\t\t\t", $forum_page['table_row'])."\n" ?>298:                     <?php echo implode("\n\t\t\t\t\t\t", $forum_page['table_row'])."\n" ?>
292:                 </tr>299:                 </tr>
293: <?php300: <?php


punbb-1.4.1/viewforum.php punbb-1.4.2/viewforum.php
  2: /**  2: /**
  3:  * Lists the topics in the specified forum.  3:  * Lists the topics in the specified forum.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
191: // Setup breadcrumbs191: // Setup breadcrumbs
192: $forum_page['crumbs'] = array(192: $forum_page['crumbs'] = array(
193:     array($forum_config['o_board_title'], forum_link($forum_url['index'])),193:     array($forum_config['o_board_title'], forum_link($forum_url['index'])),
194:     array($cur_forum['forum_name'], forum_link($forum_url['forum'], array($id, sef_friendly($cur_forum['forum_name']))))194:     $cur_forum['forum_name']
195: );195: );
196: 196: 
197: // Setup main header197: // Setup main header


punbb-1.4.1/viewtopic.php punbb-1.4.2/viewtopic.php
  2: /**  2: /**
  3:  * Lists the posts in the specified topic.  3:  * Lists the posts in the specified topic.
  4:  *  4:  *
  5:  * @copyright (C) 2008-2011 PunBB, partially based on code (C) 2008-2009 FluxBB.org  5:  * @copyright (C) 2008-2012 PunBB, partially based on code (C) 2008-2009 FluxBB.org
  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher  6:  * @license http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
  7:  * @package PunBB  7:  * @package PunBB
  8:  */  8:  */
175: $forum_page['page'] = (!isset($_GET['p']) || !is_numeric($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages']) ? 1 : $_GET['p'];175: $forum_page['page'] = (!isset($_GET['p']) || !is_numeric($_GET['p']) || $_GET['p'] <= 1 || $_GET['p'] > $forum_page['num_pages']) ? 1 : $_GET['p'];
176: $forum_page['start_from'] = $forum_user['disp_posts'] * ($forum_page['page'] - 1);176: $forum_page['start_from'] = $forum_user['disp_posts'] * ($forum_page['page'] - 1);
177: $forum_page['finish_at'] = min(($forum_page['start_from'] + $forum_user['disp_posts']), ($cur_topic['num_replies'] + 1));177: $forum_page['finish_at'] = min(($forum_page['start_from'] + $forum_user['disp_posts']), ($cur_topic['num_replies'] + 1));
178: $forum_page['items_info'] =  generate_items_info($lang_topic['Posts'], ($forum_page['start_from'] + 1), ($cur_topic['num_replies'] + 1));178: $forum_page['items_info'] = generate_items_info($lang_topic['Posts'], ($forum_page['start_from'] + 1), ($cur_topic['num_replies'] + 1));
179: 179: 
180: ($hook = get_hook('vt_modify_page_details')) ? eval($hook) : null;180: ($hook = get_hook('vt_modify_page_details')) ? eval($hook) : null;
181: 181: 
237: $forum_page['crumbs'] = array(237: $forum_page['crumbs'] = array(
238:     array($forum_config['o_board_title'], forum_link($forum_url['index'])),238:     array($forum_config['o_board_title'], forum_link($forum_url['index'])),
239:     array($cur_topic['forum_name'], forum_link($forum_url['forum'], array($cur_topic['forum_id'], sef_friendly($cur_topic['forum_name'])))),239:     array($cur_topic['forum_name'], forum_link($forum_url['forum'], array($cur_topic['forum_id'], sef_friendly($cur_topic['forum_name'])))),
240:     array($cur_topic['subject'], forum_link($forum_url['topic'], array($id, sef_friendly($cur_topic['subject']))))240:     $cur_topic['subject']
241: );241: );
242: 242: 
243: // Setup main heading243: // Setup main heading
348: 348: 
349:         $forum_page['post_ident']['link'] = '<span class="post-link"><a class="permalink" rel="bookmark" title="'.$lang_topic['Permalink post'].'" href="'.forum_link($forum_url['post'], $cur_post['id']).'">'.format_time($cur_post['posted']).'</a></span>';349:         $forum_page['post_ident']['link'] = '<span class="post-link"><a class="permalink" rel="bookmark" title="'.$lang_topic['Permalink post'].'" href="'.forum_link($forum_url['post'], $cur_post['id']).'">'.format_time($cur_post['posted']).'</a></span>';
350: 350: 
 351:         if ($cur_post['edited'] != '')
 352:             $forum_page['post_ident']['edited'] = '<span class="post-edit">'.sprintf($lang_topic['Last edited'], forum_htmlencode($cur_post['edited_by']), format_time($cur_post['edited'])).'</span>';
 353: 
 354: 
351:         ($hook = get_hook('vt_row_pre_post_ident_merge')) ? eval($hook) : null;355:         ($hook = get_hook('vt_row_pre_post_ident_merge')) ? eval($hook) : null;
352: 356: 
353:         if (isset($user_data_cache[$cur_post['poster_id']]['author_ident']))357:         if (isset($user_data_cache[$cur_post['poster_id']]['author_ident']))
521:         // Perform the main parsing of the message (BBCode, smilies, censor words etc)525:         // Perform the main parsing of the message (BBCode, smilies, censor words etc)
522:         $forum_page['message']['message'] = parse_message($cur_post['message'], $cur_post['hide_smilies']);526:         $forum_page['message']['message'] = parse_message($cur_post['message'], $cur_post['hide_smilies']);
523: 527: 
524:         if ($cur_post['edited'] != '') 
525:             $forum_page['message']['edited'] = '<p class="lastedit"><em>'.sprintf($lang_topic['Last edited'], forum_htmlencode($cur_post['edited_by']), format_time($cur_post['edited'])).'</em></p>'; 
526:  
527:         // Do signature parsing/caching528:         // Do signature parsing/caching
528:         if ($cur_post['signature'] != '' && $forum_user['show_sig'] != '0' && $forum_config['o_signatures'] == '1')529:         if ($cur_post['signature'] != '' && $forum_user['show_sig'] != '0' && $forum_config['o_signatures'] == '1')
529:         {530:         {
552:             <div id="p<?php echo $cur_post['id'] ?>" class="posthead">553:             <div id="p<?php echo $cur_post['id'] ?>" class="posthead">
553:                 <h3 class="hn post-ident"><?php echo implode(' ', $forum_page['post_ident']) ?></h3>554:                 <h3 class="hn post-ident"><?php echo implode(' ', $forum_page['post_ident']) ?></h3>
554:             </div>555:             </div>
555:             <div class="postbody<?php echo ($cur_post['is_online'] == $cur_post['poster_id']) ? ' online' : '' ?>">556:             <div class="postbody<?php if ($cur_post['is_online'] == $cur_post['poster_id']) echo ' online'; ?>">
556:                 <div class="post-author">557:                 <div class="post-author">
557:                     <ul class="author-ident">558:                     <ul class="author-ident">
558:                         <?php echo implode("\n\t\t\t\t\t\t", $forum_page['author_ident'])."\n" ?>559:                         <?php echo implode("\n\t\t\t\t\t\t", $forum_page['author_ident'])."\n" ?>