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']).'&edit_ban='.$cur_ban['id'].'">'.$lang_admin_bans['Edit ban'].'</a>', '<a href="'.forum_link($forum_url['admin_bans']).'&del_ban='.$cur_ban['id'].'&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']).'&edit_ban='.$cur_ban['id'].'">'.$lang_admin_bans['Edit ban'].'</a>', '<a href="'.forum_link($forum_url['admin_bans']).'&del_ban='.$cur_ban['id'].'&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 cache | 221: // 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: <?php | 829: <?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 istalled | 862: // 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 cache | 873: // 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 update | 883: // 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: else | 1036: 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 MySQL | 103: // 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 count | 106: // 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: <?php | 340: <?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 post | 102: // 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 information | 148: // 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 heading | 154: // 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: <?php | 309: <?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 feed | 325: // 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 feed | 437: // 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 <!-- forum_include "'.forum_htmlencode($cur_include[1]).'" --> from template main.tpl.<br/>There is no such file in folder /include/user/', __FILE__, __LINE__); | 57: error('Unable to process user include <!-- forum_include "'.forum_htmlencode($cur_include[1]).'" --> 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 breadcrumbs | 277: // 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 heading | 279: // 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 links | 282: // 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 SUBSTITUTION | 305: // 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 code | 118: // 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 code | 151: // 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 code | 212: // 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 script | 236: // Generate the censor cache PHP script |
248: // Output censors list as PHP code | 260: // 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 code | 370: // 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 code | 482: // 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 code | 541: // 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 timestamp | 555: // 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-ry | 577: // 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 cache | 589: |
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 code | 602: // 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: else | 100: 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: else | 127: 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: else | 107: 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: else | 113: 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 it | 104: // 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 revision | 117: // 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 hooks | 122: // 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 object | 124: // 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 ]]> | 74: // Converts the CDATA end sequence ]]> into ]]> |
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]=bar | 135: // 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: else | 197: 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: else | 642: 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: else | 700: 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 link | 711: // 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 loader | 883: // 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 $text | 915: // 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 installed | 1077: // 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 <!-- forum_include "'.forum_htmlencode($cur_include[1]).'" --> from template maintenance.tpl.<br/>There is no such file in folder /include/user/.'); | 3145: error('Unable to process user include <!-- forum_include "'.forum_htmlencode($cur_include[1]).'" --> 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 <!-- forum_include "'.forum_htmlencode($cur_include[1]).'" --> from template redirect.tpl.<br/>There is no such file in folder /include/user/.'); | 3267: error('Unable to process user include <!-- forum_include "'.forum_htmlencode($cur_include[1]).'" --> 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 message | 3285: // 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 buffering | 3353: // 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: <?php | 3376: <?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 the file config.php in a text editor, add a 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 is recommended that "DEBUG mode" be 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: <?php | 3402: <?php |
3328: | |
3329: // If a database connection was established (before this error) we close it | 3403: // 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: else | 476: else |
477: { | 477: { |
517: } | 517: } |
518: else | 518: 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 in | 137: // 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 nesting | 145: // 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' => '© 2008-2011 <a href="http://punbb.informer.com/">PunBB</a>, partially based on code © 2008-2009 <a href="http://fluxbb.org/">FluxBB</a>', | 10: 'Copyright message' => '© 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 © 2003–2011 <a href="http://punbb.informer.com/">PunBB</a>.', | 89: 'Installed extension' => 'The %s official extension is installed. Copyright © 2003–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 © 2003–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 © 2003–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 information | 157: // 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 list | 108: // Remove this user's guest entry from the online list |
273: // Setup breadcrumbs | 281: // 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 breadcrumbs | 379: // 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: <?php | 511: <?php |
512: // If there were any errors, show them | 512: // 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 field | 550: // 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: <?php | 488: <?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 message | 679: // 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:// already | 974: // 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:// already | 978: // 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 invalid | 982: // 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: else | 1129: else |
1122: { | 1130: { |
1127: | 1135: |
1128: if (empty($errors)) | 1136: if (empty($errors)) |
1129: { | 1137: { |
1130: // Determine type | 1138: $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/height | 1148: // 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 uploads | 1155: 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 place | 1196: // 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: // Avatar | 1200: // 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 breadcrumbs | 1533: // 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 breadcrumbs | 1615: // 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 profile | 1621: // Is this users own profile |
1605: | 1623: |
1606: // Setup navigation menu | 1624: // 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 identification | 1651: // 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: else | 1686: 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 subscriptions | 1818: // 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 subscriptions | 1821: // 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 options | 1825: // 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 form | 1928: // 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 form | 2178: // 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 form | 2524: // 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 form | 2636: // 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 form | 2765: // 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: <?php | 2855: <?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: <?php | 2921: <?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 breadcrumbs | 307: // 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 detection | 313: // 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 breadcrumbs | 567: // 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;fo |