You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
(95) |
Apr
(270) |
May
(111) |
Jun
|
Jul
|
Aug
(64) |
Sep
(130) |
Oct
(319) |
Nov
(17) |
Dec
(191) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(53) |
Feb
|
Mar
|
Apr
|
May
(6) |
Jun
(387) |
Jul
(102) |
Aug
(247) |
Sep
(120) |
Oct
(1) |
Nov
(8) |
Dec
(21) |
| 2007 |
Jan
(38) |
Feb
(36) |
Mar
|
Apr
(32) |
May
(135) |
Jun
(523) |
Jul
(192) |
Aug
(103) |
Sep
(533) |
Oct
(77) |
Nov
(23) |
Dec
(203) |
| 2008 |
Jan
(312) |
Feb
(1193) |
Mar
(404) |
Apr
(67) |
May
(62) |
Jun
(497) |
Jul
(297) |
Aug
(110) |
Sep
(335) |
Oct
(256) |
Nov
(50) |
Dec
(118) |
| 2009 |
Jan
(67) |
Feb
(10) |
Mar
(1) |
Apr
(1) |
May
|
Jun
(10) |
Jul
(61) |
Aug
|
Sep
(16) |
Oct
(45) |
Nov
(12) |
Dec
(14) |
| 2010 |
Jan
(30) |
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
(7) |
Aug
(7) |
Sep
(5) |
Oct
(5) |
Nov
|
Dec
|
| 2011 |
Jan
(7) |
Feb
(3) |
Mar
(89) |
Apr
(11) |
May
(5) |
Jun
|
Jul
(8) |
Aug
(1) |
Sep
(2) |
Oct
|
Nov
(2) |
Dec
(89) |
| 2012 |
Jan
(7) |
Feb
(1) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(4) |
Sep
(3) |
Oct
(42) |
Nov
(1) |
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
(19) |
Apr
(90) |
May
(38) |
Jun
(235) |
Jul
(38) |
Aug
(10) |
Sep
|
Oct
(29) |
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
|
Mar
|
Apr
(6) |
May
(52) |
Jun
|
Jul
(7) |
Aug
|
Sep
(17) |
Oct
|
Nov
|
Dec
|
|
From: Jon O. <jon...@us...> - 2007-09-09 16:53:10
|
Update of /cvsroot/mxbb/core/modules/mx_phpbb2blocks/templates/subSilver In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv11076/subSilver Removed Files: index.htm mx_announce.tpl mx_forum.tpl mx_last_msg.tpl mx_poll_ballot.tpl mx_poll_result.tpl mx_statistics.tpl subSilver.cfg Log Message: Ok, massive update for 2.9.x. --- mx_poll_ballot.tpl DELETED --- --- mx_last_msg.tpl DELETED --- --- mx_statistics.tpl DELETED --- --- mx_forum.tpl DELETED --- --- subSilver.cfg DELETED --- --- index.htm DELETED --- --- mx_announce.tpl DELETED --- --- mx_poll_result.tpl DELETED --- |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:53:09
|
Update of /cvsroot/mxbb/core/modules/mx_phpbb2blocks/templates/_core/images In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv11076/_core/images Added Files: index.htm thumb_globe.gif thumb_news.gif Log Message: Ok, massive update for 2.9.x. --- NEW FILE: thumb_globe.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: thumb_news.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
Update of /cvsroot/mxbb/core/modules/mx_navmenu/templates/_core In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv11044 Added Files: index.htm mx_menu_advanced_CSS_hor.tpl mx_menu_advanced_CSS_ver.tpl mx_menu_advanced_hor.tpl mx_menu_advanced_ver.tpl mx_menu_classic_hor.tpl mx_menu_classic_ver.tpl mx_menu_nav.tpl mx_menu_nav_horizontal.tpl mx_menu_overall_advanced.tpl mx_menu_overall_standard.tpl mx_menu_simple_CSS_hor.tpl mx_menu_simple_CSS_ver.tpl mx_menu_simple_x_hor.tpl mx_menu_simple_x_ver.tpl Log Message: Ok, massive update for 2.9.x. --- NEW FILE: mx_menu_advanced_hor.tpl --- <style type="text/css"> <!-- .click-menu { width: 100%; } .click-menu .box1 { background: url("{IMG_EXPAND}") no-repeat; background-position: 4px 4px; background-color: {T_TR_COLOR2}; color: {T_BODY_LINK}; font-weight: bold; font-size: 12px; font-family: {T_FONTFACE1}; padding: 6px 21px; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; cursor: default; position: relative; } .click-menu .box1-hover { background: url("{IMG_EXPAND}") no-repeat; background-position: 4px 4px; background-color: {T_TR_COLOR1}; color: {T_BODY_VLINK}; font-weight: bold; font-size: 12px; font-family: {T_FONTFACE1}; padding: 6px 21px; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; cursor: default; position: relative; } .click-menu .box1-open { background: url("{IMG_CONTRACT}") no-repeat; background-position: 4px 4px; background-color: {T_TR_COLOR2}; color: {T_BODY_VLINK}; font-weight: bold; font-size: 12px; font-family: {T_FONTFACE1}; padding: 6px 21px; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; cursor: default; position: relative; } .click-menu .box1-open-hover { background: url("{IMG_CONTRACT}") no-repeat; background-position: 4px 4px; background-color: {T_TR_COLOR2}; color: {T_BODY_VLINK}; font-weight: bold; font-size: 12px; font-family: {T_FONTFACE1}; padding: 6px 21px; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; cursor: default; position: relative; } .click-menu .box1 img, .click-menu .box1-hover img, .click-menu .box1-open img, .click-menu .box1-open-hover img { position: absolute; top: 6px; right: 6px; } .click-menu .section { background: {T_TR_COLOR1}; font-family: {T_FONTFACE1}; font-size: 12px; line-height: 15px; padding: 5px 5px 6px 5px; border: 0px {T_TH_COLOR1}; border-style: none solid solid solid; display: none; } .click-menu .section a { color: {T_BODY_LINK}; text-decoration: none; white-space: nowrap; } .click-menu .section a:hover { color: {T_BODY_VLINK}; text-decoration: none; white-space: nowrap; } .click-menu .box2 { } .click-menu .box2-hover { background: {T_TR_COLOR2}; } .click-menu .section .active, .click-menu .section .active:hover { color: {T_BODY_VLINK}; } --> </style> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/1.3/ClickShowHideMenu.js"></script> <table width="100%" cellpadding="0" cellspacing="1" border="0" class="forumline" style="border-top:none;"> <tr> <td align="left" class="row1"> <table cellspacing="1" cellpadding="0" id="click-menu{MENU_ID}" class="click-menu"> <tr> <!-- BEGIN catrow --> <td align="left" width="{CAT_WIDTH}" valign="top"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td style="border:none;"> <div class="box1"><span class="nav"> {catrow.CATEGORY}</span></div> </td> </tr> </table> <div class="section"> <!-- BEGIN modulerow --> <div class="box2">{catrow.modulerow.U_MENU_ICON}<a href="{catrow.modulerow.U_MENU_MODULE}" target="{catrow.modulerow.U_LINK_TARGET}">{catrow.modulerow.MENU_NAME}</a></div> <!-- END modulerow --> </div> </td> <!-- END catrow --> </tr> </table> </td> </tr> </table> --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> --- NEW FILE: mx_menu_overall_advanced.tpl --- <style type="text/css"> <!-- .click-menu { width: 100%; } .click-menu .box1 { background: url("{IMG_EXPAND}") no-repeat; background-position: 4px 4px; background-color: {T_TR_COLOR2}; color: {T_BODY_LINK}; font-weight: bold; font-size: 12px; font-family: {T_FONTFACE1}; padding: 6px 21px; border-width: 0px; border-color: {T_TH_COLOR1}; border-style: solid solid solid solid; cursor: default; position: relative; } .click-menu .box1-hover { background: url("{IMG_EXPAND}") no-repeat; background-position: 4px 4px; background-color: {T_TR_COLOR1}; color: {T_BODY_VLINK}; font-weight: bold; font-size: 12px; font-family: {T_FONTFACE1}; padding: 6px 21px; border-width: 0px; border-color: {T_TH_COLOR1}; border-style: solid solid solid solid; cursor: default; position: relative; } .click-menu .box1-open { background: url("{IMG_CONTRACT}") no-repeat; background-position: 4px 4px; background-color: {T_TR_COLOR2}; color: {T_BODY_VLINK}; font-weight: bold; font-size: 12px; font-family: {T_FONTFACE1}; padding: 6px 21px; border-width: 0px; border-color: {T_TH_COLOR1}; border-style: solid solid none solid; cursor: default; position: relative; } .click-menu .box1-open-hover { background: url("{IMG_CONTRACT}") no-repeat; background-position: 4px 4px; background-color: {T_TR_COLOR2}; color: {T_BODY_VLINK}; font-weight: bold; font-size: 12px; font-family: {T_FONTFACE1}; padding: 6px 21px; border-width: 0px; border-color: {T_TH_COLOR1}; border-style: solid solid none solid; cursor: default; position: relative; } .click-menu .box1 img, .click-menu .box1-hover img, .click-menu .box1-open img, .click-menu .box1-open-hover img { position: absolute; top: 6px; right: 6px; } .click-menu .section { background-color: {T_TR_COLOR1}; font-family: {T_FONTFACE1}; font-size: 12px; line-height: 15px; padding: 5px 5px 6px 5px; border-width: 0px; border-color: {T_TH_COLOR1}; border-style: none solid solid solid; display: none; position: absolute; left: 15px; } .click-menu .section a { color: {T_BODY_LINK}; text-decoration: none; white-space: nowrap; } .click-menu .section a:hover { color: {T_BODY_VLINK}; text-decoration: none; white-space: nowrap; } .click-menu .box2 { } .click-menu .box2-hover { background: {T_TR_COLOR2}; } .click-menu .section .active, .click-menu .section .active:hover { color: {T_BODY_VLINK}; } --> </style> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/1.3/ClickShowHideMenu.js"></script> <table cellspacing="0" cellpadding="0" id="click-menu{MENU_ID}" class="click-menu"> <tr> <!-- BEGIN catrow --> <td class="row1" align="left" width="{CAT_WIDTH}" valign="top"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td class="cat" style="border:none;"> <div class="box1"><span class="nav"> {catrow.CATEGORY}</span></div> </td> </tr> </table> <div class="section"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <!-- BEGIN modulerow --> <td> <div class="box2">{catrow.modulerow.U_MENU_ICON}<a href="{catrow.modulerow.U_MENU_MODULE}" target="{catrow.modulerow.U_LINK_TARGET}">{catrow.modulerow.MENU_NAME}</a></div> </td> <!-- END modulerow --> </tr> </table> </div> </td> <!-- END catrow --> </tr> </table> <!-- this.box1Hover = true; this.box2Hover = true; this.highlightActive = false; --> <script type="text/javascript"> var clickMenu1 = new ClickShowHideMenu('click-menu' + '{MENU_ID}'); clickMenu1.box1Hover = true; clickMenu1.box2Hover = true; clickMenu1.highlightActive = false; //clickMenu1.init_id = 0; // Initiate menu clickMenu1.init(); </script> --- NEW FILE: mx_menu_overall_standard.tpl --- <style type="text/css"> <!-- .nav-cat .nav-button { border-width: 1px; border-color: {T_TH_COLOR1}; border-style: none none solid none; position: relative; } .nav-cat .nav-button-current { background-color: {T_TR_COLOR1}; border-width: 1px; border-color: {T_TH_COLOR1}; border-style: solid solid none solid; position: relative; } td.nav-button { background-color: {T_TR_COLOR1}; } td.nav-button-current { background-color: {T_TR_COLOR2}; } * html .nav-cat td { position: relative; } /* ie 5.0 fix */ --> </style> <table width="100%" cellpadding="0" cellspacing="1" border="0" align="center"> <tr> <td class="cat" align="center" valign="top"> <table cellpadding="0" cellspacing="0" border="0" class="nav-cat"> <tr> <!-- BEGIN catrow --> <td align="left" valign="top"> <div class="nav-button{catrow.CURRENT}"> <table cellpadding="5" cellspacing="0" border="0"> <tr> <td align="left" width="100%" height="30" style="border:none;"> {catrow.U_MENU_ICON}{catrow.CATEGORY} </td> </tr> </table> </div> </td> <!-- END catrow --> </tr> </table> </td> </tr> </table> <table width="100%" cellpadding="0" cellspacing="1" border="0" align="center"> <tr> <td class="row1" align="center" valign="top"> <table cellpadding="3" cellspacing="0" border="0" class="nav-menu"> <tr> <!-- BEGIN modulerow --> <td style="border:none;" class="" valign="center" onmouseout="this.className='';" onmouseover="this.className='nav-button-current';"> {modulerow.U_MENU_ICON}<span class="{modulerow.MENU_STYLE}"><a href="{modulerow.U_MENU_MODULE}" target="{modulerow.U_LINK_TARGET}" class="genmed" title="{modulerow.MENU_DESC}">{modulerow.MENU_NAME}</a></span> </td> <!-- END modulerow --> </tr> </table> </td> </tr> </table> --- NEW FILE: mx_menu_nav_horizontal.tpl --- <table width="100%" cellpadding="0" cellspacing="1" border="0" class="forumline" style="border-top:none;"> <tr> <!-- BEGIN catrow --> <td class="row1" align="left" width="{CAT_WIDTH}" valign="top"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td class="row2"> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="cat" width="10" align="center" valign="middle" style="border:none;"> <!-- BEGIN switch_cat_on --> <span class="mx_rollup_button" onClick="mx_toggle(this, 'mxNavCat_{catrow.BLOCK_ID}{catrow.CAT_ID}', '{catrow.U_CAT_NAV_EXPAND}', '{catrow.U_CAT_NAV_CONTRACT}');"><img src="{catrow.U_CAT_NAV_CONTRACT}" border="0" /></span> <!-- END switch_cat_on --> <!-- BEGIN switch_cat_off --> <span class="mx_rollup_button" onClick="mx_toggle(this, 'mxNavCat_{catrow.BLOCK_ID}{catrow.CAT_ID}', '{catrow.U_CAT_NAV_EXPAND}', '{catrow.U_CAT_NAV_CONTRACT}');"><img src="{catrow.U_CAT_NAV_EXPAND}" border="0" /></span> <!-- END switch_cat_off --> </td> <td class="cat" align="left" width="100%" style="border:none;"> <span class="nav"><b> {catrow.CATEGORY}</b></span> </td> </tr> <tr> <td class="row1" align="left" colspan="2"><span class="genmed">{catrow.DESCRIPTION}</span></td> </tr> </table> </td> </tr> <!-- BEGIN switch_cat_on --> <tbody id="mxNavCat_{catrow.BLOCK_ID}{catrow.CAT_ID}" style="display: ;"> <!-- END switch_cat_on --> <!-- BEGIN switch_cat_off --> <tbody id="mxNavCat_{catrow.BLOCK_ID}{catrow.CAT_ID}" style="display: none;"> <!-- END switch_cat_off --> <tr> <td class="row1" style="border:none;"> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <!-- BEGIN modulerow --> <tr> <td style="border:none;" class="row1" valign="center" colspan="2" onmouseout="this.className='row1';" onmouseover="this.className='row2';" onclick="window.location.href='{catrow.modulerow.U_MENU_MODULE}';">{catrow.modulerow.U_MENU_ICON}<span class="{catrow.modulerow.MENU_STYLE}"><a href="{catrow.modulerow.U_MENU_MODULE}" target="{catrow.modulerow.U_LINK_TARGET}" class="genmed" title="{catrow.modulerow.MENU_DESC}">{catrow.modulerow.MENU_NAME}</a></span></td> </tr> <!-- END modulerow --> </table> </td> <tr> </tbody> </table> </td> <!-- END catrow --> </tr> </table> --- NEW FILE: mx_menu_advanced_ver.tpl --- <style type="text/css"> <!-- .click-menu { width: 100%; } .click-menu .box1 { background: url("{IMG_EXPAND}") no-repeat; background-position: 4px 4px; background-color: {T_TR_COLOR2}; color: {T_BODY_LINK}; font-weight: bold; font-size: 12px; font-family: {T_FONTFACE1}; padding: 6px 21px; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; cursor: default; position: relative; } .click-menu .box1-hover { background: url("{IMG_EXPAND}") no-repeat; background-position: 4px 4px; background-color: {T_TR_COLOR1}; color: {T_BODY_VLINK}; font-weight: bold; font-size: 12px; font-family: {T_FONTFACE1}; padding: 6px 21px; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; cursor: default; position: relative; } .click-menu .box1-open { background: url("{IMG_CONTRACT}") no-repeat; background-position: 4px 4px; background-color: {T_TR_COLOR2}; color: {T_BODY_VLINK}; font-weight: bold; font-size: 12px; font-family: {T_FONTFACE1}; padding: 6px 21px; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; cursor: default; position: relative; } .click-menu .box1-open-hover { background: url("{IMG_CONTRACT}") no-repeat; background-position: 4px 4px; background-color: {T_TR_COLOR2}; color: {T_BODY_VLINK}; font-weight: bold; font-size: 12px; font-family: {T_FONTFACE1}; padding: 6px 21px; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; cursor: default; position: relative; } .click-menu .box1 img, .click-menu .box1-hover img, .click-menu .box1-open img, .click-menu .box1-open-hover img { position: absolute; top: 6px; right: 6px; } .click-menu .section { background: {T_TR_COLOR1}; font-family: {T_FONTFACE1}; font-size: 12px; line-height: 15px; padding: 5px 5px 6px 5px; border: 0px {T_TH_COLOR1}; border-style: none solid solid solid; display: none; } .click-menu .section a { color: {T_BODY_LINK}; text-decoration: none; white-space: nowrap; } .click-menu .section a:hover { color: {T_BODY_VLINK}; text-decoration: none; white-space: nowrap; } .click-menu .box2 { } .click-menu .box2-hover { background: {T_TR_COLOR2}; } .click-menu .section .active, .click-menu .section .active:hover { color: {T_BODY_VLINK}; } --> </style> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/1.3/ClickShowHideMenu.js"></script> <table width="100%" cellpadding="0" cellspacing="1" border="0" class="forumline" style="border-top:none;"> <tr> <td align="center" class="row1"> <table width="100%" cellspacing="1" cellpadding="0" id="click-menu{MENU_ID}" class="click-menu"> <!-- BEGIN catrow --> <tr> <td align="left"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td style="border:none;"> <div class="box1"><span class="nav"> {catrow.CATEGORY}</span></div> </td> </tr> </table> <div class="section"> <!-- BEGIN modulerow --> <div class="box2">{catrow.modulerow.U_MENU_ICON}<a href="{catrow.modulerow.U_MENU_MODULE}" target="{catrow.modulerow.U_LINK_TARGET}">{catrow.modulerow.MENU_NAME}</a></div> <!-- END modulerow --> </div> </td> </tr> <!-- END catrow --> </table> </td> </tr> </table> --- NEW FILE: mx_menu_nav.tpl --- <table width="100%" cellpadding="0" cellspacing="1" border="0" class="forumline" style="border-top:none;"> <!-- BEGIN catrow --> <tr> <td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td class="row2" align="left"> <table width="100%" cellpadding="2" cellspacing="0" border="0" > <tr> <td class="cat" align="center" width="10" style="border:none;"> <!-- BEGIN switch_cat_on --> <span class="mx_rollup_button" onClick="mx_toggle(this, 'mxNavCat_{catrow.BLOCK_ID}{catrow.CAT_ID}', '{catrow.U_CAT_NAV_EXPAND}', '{catrow.U_CAT_NAV_CONTRACT}');"><img src="{catrow.U_CAT_NAV_CONTRACT}" border="0" /></span> <!-- END switch_cat_on --> <!-- BEGIN switch_cat_off --> <span class="mx_rollup_button" onClick="mx_toggle(this, 'mxNavCat_{catrow.BLOCK_ID}{catrow.CAT_ID}', '{catrow.U_CAT_NAV_EXPAND}', '{catrow.U_CAT_NAV_CONTRACT}');"><img src="{catrow.U_CAT_NAV_EXPAND}" border="0" /></span> <!-- END switch_cat_off --> </td> <td class="cat" align="left" width="100%" style="border:none;"> <span class="nav"> {catrow.CATEGORY}</span> </td> </tr> </table> </td> </tr> <!-- BEGIN switch_cat_desc --> <tr> <td class="row1" align="left" colspan="2"><span class="genmed">{catrow.switch_cat_desc.CAT_DESC}</span><hr /></td> </tr> <!-- END switch_cat_desc --> </table> </td> </tr> <!-- BEGIN switch_cat_on --> <tbody id="mxNavCat_{catrow.BLOCK_ID}{catrow.CAT_ID}" style="display: ;"> <!-- END switch_cat_on --> <!-- BEGIN switch_cat_off --> <tbody id="mxNavCat_{catrow.BLOCK_ID}{catrow.CAT_ID}" style="display: none;"> <!-- END switch_cat_off --> <tr> <td class="row1"> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <!-- BEGIN modulerow --> <tr> <td style="border:none;" class="row1" valign="middle" height="10" align="left" colspan="2" onmouseout="this.className='row1';" onmouseover="this.className='row2';" onclick="window.location.href='{catrow.modulerow.U_MENU_MODULE}';">{catrow.modulerow.U_MENU_ICON}<span class="{catrow.modulerow.MENU_STYLE}"> <a href="{catrow.modulerow.U_MENU_MODULE}" target="{catrow.modulerow.U_LINK_TARGET}" class="genmed" title="{catrow.modulerow.MENU_DESC}">{catrow.modulerow.MENU_NAME}</a></span></td> </tr> <!-- END modulerow --> </table> </td> </tr> </tbody> <!-- END catrow --> </table> --- NEW FILE: mx_menu_simple_CSS_hor.tpl --- <style type="text/css"> <!-- .ddm1 { font: 11px {T_FONTFACE1}; } .ddm1 .item1, .ddm1 .item1:hover, .ddm1 .item1-active, .ddm1 .item1-active:hover { background: {T_TR_COLOR1}; padding: 5px 6px 5px 6px; text-decoration: none; display: block; position: relative; white-space: nowrap; } .ddm1 .item1 { text-align: left; color: {T_BODY_LINK}; border: 1px {T_TR_COLOR1}; border-style: solid solid solid solid; } .ddm1 .item1:hover, .ddm1 .item1-active, .ddm1 .item1-active:hover { background: {T_TR_COLOR2}; color: {T_BODY_VLINK}; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; } .ddm1 .item2, .ddm1 .item2:hover { background: {T_TR_COLOR1}; padding: 5px 6px 5px 6px; text-decoration: none; display: block; white-space: nowrap; border: 1px {T_TR_COLOR1}; border-style: solid solid solid solid; } .ddm1 .item2 { text-align: left; color: {T_BODY_LINK}; } .ddm1 .item2:hover { background: {T_TR_COLOR2}; color: {T_BODY_VLINK}; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; } .ddm1 .section { background: {T_TR_COLOR1}; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; position: absolute; visibility: hidden; z-index: -1; white-space: nowrap; } .ddm1 .left, .ddm1 .left:hover { border-style: solid none solid solid; } .ddm1 .right, .ddm1 .right:hover { border-style: solid solid solid none; } * html .ddm1 td { position: relative; } /* ie 5.0 fix */ --> </style> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/ie5.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/1.0/DropDownMenu1.js"></script> <table width="100%" cellpadding="0" cellspacing="1" border="0" class="forumline" style="border-top:none;"> <tr> <td align="left" class="row1"> <table cellspacing="0" cellpadding="0" id="menu{MENU_ID}" class="ddm1"> <tr> <!-- BEGIN catrow --> <td> <a class="item1" href="{catrow.CATEGORY_URL}">{catrow.CATEGORY_NAME}</a> <div class="section"> <!-- BEGIN modulerow --> <a class="item2" href="{catrow.modulerow.U_MENU_MODULE}" target="{catrow.modulerow.U_LINK_TARGET}">{catrow.modulerow.U_MENU_ICON} {catrow.modulerow.MENU_NAME}</a> <!-- END modulerow --> </div> </td> <!-- END catrow --> </tr> </table> </td> </tr> </table> --- NEW FILE: mx_menu_classic_hor.tpl --- <table width="100%" cellpadding="0" cellspacing="1" border="0" class="forumline" style="border-top:none;"> <tr> <!-- BEGIN catrow --> <td class="row1" align="left" width="{CAT_WIDTH}" valign="top"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td class="row2"> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <tr> <td class="cat" width="10" align="center" valign="middle" style="border:none;"> <span class="mx_rollup_button" onClick="mx_toggle(this, 'mxNavCat_{catrow.BLOCK_ID}{catrow.CAT_ID}', '{catrow.U_CAT_NAV_EXPAND}', '{catrow.U_CAT_NAV_CONTRACT}');"><img src="{catrow.U_CAT_NAV_DYNAMIC}" border="0" /></span> </td> <td class="cat" align="left" width="100%" style="border:none;"> <span class="nav"><b> {catrow.CATEGORY}</b></span> </td> </tr> <tr> <td class="row1" align="left" colspan="2"><span class="genmed">{catrow.DESCRIPTION}</span></td> </tr> </table> </td> </tr> <tbody id="mxNavCat_{catrow.BLOCK_ID}{catrow.CAT_ID}" style="display: {catrow.CAT_SHOW};"> <tr> <td class="row1" style="border:none;"> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <!-- BEGIN modulerow --> <tr> <td style="border:none;" class="row1" valign="middle" colspan="2" onmouseout="this.className='row1';" onmouseover="this.className='row2';">{catrow.modulerow.U_MENU_ICON}<span class="{catrow.modulerow.MENU_STYLE}"><a href="{catrow.modulerow.U_MENU_MODULE}" target="{catrow.modulerow.U_LINK_TARGET}" class="genmed" title="{catrow.modulerow.MENU_DESC}">{catrow.modulerow.MENU_NAME}</a></span></td> </tr> <!-- END modulerow --> </table> </td> </tr> </tbody> </table> </td> <!-- END catrow --> </tr> </table> --- NEW FILE: mx_menu_simple_CSS_ver.tpl --- <style type="text/css"> <!-- .ddm1 { font: 11px {T_FONTFACE1}; } .ddm1 .item1, .ddm1 .item1:hover, .ddm1 .item1-active, .ddm1 .item1-active:hover { background: {T_TR_COLOR1}; padding: 5px 6px 5px 6px; text-decoration: none; display: block; position: relative; white-space: nowrap; } .ddm1 .item1 { text-align: left; color: {T_BODY_LINK}; border: 1px {T_TR_COLOR1}; border-style: solid solid solid solid; } .ddm1 .item1:hover, .ddm1 .item1-active, .ddm1 .item1-active:hover { background: {T_TR_COLOR2}; color: {T_BODY_VLINK}; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; } .ddm1 .item1 img, .ddm1 .item1-active img{ position: absolute; top: 4px; right: 1px; border: 0; } .ddm1 .item2, .ddm1 .item2:hover { background: {T_TR_COLOR1}; padding: 5px 6px 5px 6px; text-decoration: none; display: block; white-space: nowrap; border: 1px {T_TR_COLOR1}; border-style: solid solid solid solid; } .ddm1 .item2 { text-align: left; color: {T_BODY_LINK}; } .ddm1 .item2:hover { background: {T_TR_COLOR2}; color: {T_BODY_VLINK}; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; } .ddm1 .section { background: {T_TR_COLOR1}; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; position: absolute; visibility: hidden; z-index: -1; white-space: nowrap; } .ddm1 .left, .ddm1 .left:hover { border-style: solid none solid solid; } .ddm1 .right, .ddm1 .right:hover { border-style: solid solid solid none; } * html .ddm1 td { position: relative; } /* ie 5.0 fix */ --> </style> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/ie5.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/1.0/DropDownMenu1.js"></script> <table width="100%" cellpadding="0" cellspacing="1" border="0" class="forumline" style="border-top:none;"> <tr> <td align="center" class="row1"> <table width="100%" cellspacing="0" cellpadding="0" id="menu{MENU_ID}" class="ddm1"> <!-- BEGIN catrow --> <tr> <td> <a class="item1" href="{catrow.CATEGORY_URL}">{catrow.CATEGORY_NAME}<img src="{MX_ROOT_PATH}modules/mx_navmenu/templates/subSilver/images/arrow_right.gif" width="10" height="12" alt="" /></a> <div class="section"> <!-- BEGIN modulerow --> <a class="item2" href="{catrow.modulerow.U_MENU_MODULE}" target="{catrow.modulerow.U_LINK_TARGET}">{catrow.modulerow.U_MENU_ICON}{catrow.modulerow.MENU_NAME}</a> <!-- END modulerow --> </div> </td> </tr> <!-- END catrow --> </table> </td> </tr> </table> --- NEW FILE: mx_menu_simple_x_hor.tpl --- <style type="text/css"> <!-- .ddmx { font: 11px {T_FONTFACE1}; } .ddmx .item1, .ddmx .item1:hover, .ddmx .item1-active, .ddmx .item1-active:hover { padding: 3px 10px 3px 10px; background: {T_TR_COLOR2}; font: 12px arial; color: {T_BODY_VLINK}; font-weight: bold; text-decoration: none; display: block; white-space: nowrap; position: relative; line-height: normal; border: 1px solid {T_TR_COLOR2}; } .ddmx .item1:hover { line-height: normal; border: 1px solid {T_TR_COLOR1}; } .ddmx .item1-active:hover { line-height: normal; border: 1px solid {T_TR_COLOR1}; } .ddmx .item2, .ddmx .item2:hover, .ddmx .item2-active, .ddmx .item2-active:hover { padding: 3px 8px 4px 8px; font: 11px {T_FONTFACE1}; color: {T_BODY_VLINK}; font-weight: bold; text-decoration: none; display: block; white-space: nowrap; position: relative; z-index: 500; } .ddmx .item2 { background: {T_TR_COLOR1}; } .ddmx .item2:hover, .ddmx .item2-active, .ddmx .item2-active:hover { background: {T_TR_COLOR2}; } .ddmx .arrow, .ddmx .arrow:hover { padding: 3px 16px 4px 8px; } .ddmx .item2 img, .ddmx .item2-active img{ position: absolute; top: 4px; right: 1px; border: 0; } .ddmx .section { border: 1px solid {T_TH_COLOR1}; position: absolute; visibility: hidden; z-index: -1; } * html .ddmx td { position: relative; } /* ie 5.0 fix */ --> </style> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/ie5.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/1.1/DropDownMenuX.js"></script> <table width="100%" cellpadding="0" cellspacing="1" border="0" class="forumline" style="border-top:none;"> <tr> <td align="left"> <table cellspacing="0" cellpadding="0" id="menu{MENU_ID}" class="ddmx"> <tr> <!-- BEGIN catrow --> <td> <a class="item1" href="{catrow.CATEGORY_URL}">{catrow.CATEGORY_NAME}</a> <div class="section"> <!-- BEGIN modulerow --> <a class="item2" href="{catrow.modulerow.U_MENU_MODULE}" target="{catrow.modulerow.U_LINK_TARGET}">{catrow.modulerow.MENU_NAME}</a> <!-- END modulerow --> </div> </td> <!-- END catrow --> </tr> </table> </td> </tr> </table> <!-- /* Type of the menu: "horizontal" or "vertical" */ this.type = "horizontal"; /* Delay (in miliseconds >= 0): show-hide menu * Hide must be > 0 */ this.delay = { "show": 0, "hide": 400 } /* Change the default position of sub-menu by Y pixels from top and X pixels from left * Negative values are allowed */ this.position = { "level1": { "top": 0, "left": 0}, "levelX": { "top": 0, "left": 0} } /* fix ie selectbox bug ? */ this.fixIeSelectBoxBug = true; /* Z-index property for .section */ this.zIndex = { "visible": 500, "hidden": -1 }; // Browser detection this.browser = { "ie": Boolean(document.body.currentStyle), "ie5": (navigator.appVersion.indexOf("MSIE 5.5") != -1 || navigator.appVersion.indexOf("MSIE 5.0") != -1), "ie6": (navigator.appVersion.indexOf("MSIE 6.0") != -1) }; if (!this.browser.ie) { this.browser.ie5 = false; this.browser.ie6 = false; } --> <script type="text/javascript"> var ddmx = new DropDownMenuX('menu' + '{MENU_ID}'); ddmx.type = "horizontal"; ddmx.delay.show = 0; ddmx.delay.hide = 400; ddmx.position.levelX.left = 2; ddmx.init(); </script> --- NEW FILE: mx_menu_advanced_CSS_ver.tpl --- <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/ie5.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/1.4/XulMenu.js"></script> <style type="text/css"> <!-- #bar { background: #{T_TR_COLOR1}; cursor: default; } .XulMenu { font-family: {T_FONTFACE1}; font-size: 11px; -moz-user-select: none; } .XulMenu .button, .XulMenu .button:hover, .XulMenu .button-active, .XulMenu .button-active:hover { text-align: left; line-height: normal; padding: 5px 6px 4px 6px; border: 1px solid #ECE9D8; color: {T_FONTFACE1}; text-decoration: none; cursor: default; white-space: nowrap; display: block; position: relative; } .XulMenu .button:hover { border-color: #ffffff #ACA899 #ACA899 #ffffff; } .XulMenu .button-active, .XulMenu .button-active:hover { border-color: #ACA899 #ffffff #ffffff #ACA899; } .XulMenu .button img, .XulMenu .button-active img{ position: absolute; top: 4px; right: 2px; border: 0; } .XulMenu .item, .XulMenu .item:hover, .XulMenu .item-active, .XulMenu .item-active:hover { background: {T_TR_COLOR1}; line-height: normal; text-align: left; padding: 3px 20px 3px 20px; color: #000000; border: 1px {T_TR_COLOR1}; border-style: solid solid solid solid; text-decoration: none; cursor: default; white-space: nowrap; display: block; position: relative; } .XulMenu .item:hover, .XulMenu .item-active, .XulMenu .item-active:hover { background: {T_TR_COLOR2}; color: {T_FONTFACE1}; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; } .XulMenu .section { background: {T_TR_COLOR1}; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; padding: 2px 1px 1px 2px; position: absolute; visibility: hidden; z-index: -1; } .XulMenu .arrow { position: absolute; top: 7px; right: 8px; border: 0; } * html .XulMenu td { position: relative; } /* ie 5.0 fix */ --> </style> <table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline" style="border-top:none;"> <tr> <td align="center" class="row1"> <div id="bar"> <table width="100%" cellspacing="0" cellpadding="0" id="menu{MENU_ID}" class="XulMenu"> <!-- BEGIN catrow --> <tr> <td> <a class="button" href="javascript:void(0)">{catrow.CATEGORY_NAME}<img class="arrow" src="{MX_ROOT_PATH}modules/mx_navmenu/templates/subSilver/images/arrow_right.gif" width="10" height="12" alt="" /></a> <div class="section"> <!-- BEGIN modulerow --> <a class="item" href="{catrow.modulerow.U_MENU_MODULE}" target="{catrow.modulerow.U_LINK_TARGET}">{catrow.modulerow.U_MENU_ICON}{catrow.modulerow.MENU_NAME}</a> <!-- END modulerow --> </div> </td> </tr> <!-- END catrow --> </table> </div> </td> </tr> </table> --- NEW FILE: mx_menu_simple_x_ver.tpl --- <style type="text/css"> <!-- .ddmx { font: 11px {T_FONTFACE1}; } .ddmx .item1, .ddmx .item1:hover, .ddmx .item1-active, .ddmx .item1-active:hover { padding: 3px 10px 3px 10px; background: {T_TR_COLOR2}; font: 12px arial; color: {T_BODY_VLINK}; font-weight: bold; text-decoration: none; display: block; white-space: nowrap; position: relative; line-height: normal; border: 1px solid {T_TR_COLOR2}; } .ddmx .item1:hover { line-height: normal; border: 1px solid {T_TR_COLOR1}; } .ddmx .item1-active:hover { line-height: normal; border: 1px solid {T_TR_COLOR1}; } .ddmx .item1 img, .ddmx .item1-active img{ position: absolute; top: 4px; right: 1px; border: 0; } .ddmx .item2, .ddmx .item2:hover, .ddmx .item2-active, .ddmx .item2-active:hover { padding: 3px 8px 4px 8px; font: 11px {T_FONTFACE1}; color: {T_BODY_VLINK}; font-weight: bold; text-decoration: none; display: block; white-space: nowrap; position: relative; z-index: 500; } .ddmx .item2 { background: {T_TR_COLOR1}; } .ddmx .item2:hover, .ddmx .item2-active, .ddmx .item2-active:hover { background: {T_TR_COLOR2}; } .ddmx .arrow, .ddmx .arrow:hover { padding: 3px 16px 4px 8px; } .ddmx .item2 img, .ddmx .item2-active img{ position: absolute; top: 4px; right: 1px; border: 0; } .ddmx .section { border: 1px solid {T_TH_COLOR1}; position: absolute; visibility: hidden; z-index: -1; } * html .ddmx td { position: relative; } /* ie 5.0 fix */ --> </style> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/ie5.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/1.1/DropDownMenuX.js"></script> <table width="100%" cellpadding="0" cellspacing="1" border="0" class="forumline" style="border-top:none;"> <tr> <td align="center"> <table width="100%" cellspacing="0" cellpadding="0" id="menu{MENU_ID}" class="ddmx"> <!-- BEGIN catrow --> <tr> <td> <a class="item1" href="{catrow.CATEGORY_URL}">{catrow.CATEGORY_NAME}<img src="{MX_ROOT_PATH}modules/mx_navmenu/templates/subSilver/images/arrow_right.gif" width="10" height="12" alt="" /></a> <div class="section"> <!-- BEGIN modulerow --> <a class="item2" href="{catrow.modulerow.U_MENU_MODULE}" target="{catrow.modulerow.U_LINK_TARGET}">{catrow.modulerow.MENU_NAME}</a> <!-- END modulerow --> </div> </td> </tr> <!-- END catrow --> </table> </td> </tr> </table> <!-- /* Type of the menu: "horizontal" or "vertical" */ this.type = "horizontal"; /* Delay (in miliseconds >= 0): show-hide menu * Hide must be > 0 */ this.delay = { "show": 0, "hide": 400 } /* Change the default position of sub-menu by Y pixels from top and X pixels from left * Negative values are allowed */ this.position = { "level1": { "top": 0, "left": 0}, "levelX": { "top": 0, "left": 0} } /* fix ie selectbox bug ? */ this.fixIeSelectBoxBug = true; /* Z-index property for .section */ this.zIndex = { "visible": 500, "hidden": -1 }; // Browser detection this.browser = { "ie": Boolean(document.body.currentStyle), "ie5": (navigator.appVersion.indexOf("MSIE 5.5") != -1 || navigator.appVersion.indexOf("MSIE 5.0") != -1), "ie6": (navigator.appVersion.indexOf("MSIE 6.0") != -1) }; if (!this.browser.ie) { this.browser.ie5 = false; this.browser.ie6 = false; } --> <script type="text/javascript"> var ddmx = new DropDownMenuX('menu' + '{MENU_ID}'); ddmx.type = "vertical"; ddmx.delay.show = 0; ddmx.delay.hide = 400; ddmx.position.levelX.left = 2; ddmx.init(); </script> --- NEW FILE: mx_menu_advanced_CSS_hor.tpl --- <style type="text/css"> <!-- #bar { background: #{T_TR_COLOR1}; cursor: default; } .XulMenu { font-family: {T_FONTFACE1}; font-size: 11px; -moz-user-select: none; } .XulMenu .button, .XulMenu .button:hover, .XulMenu .button-active, .XulMenu .button-active:hover { text-align: left; line-height: normal; padding: 5px 6px 4px 6px; border: 1px solid #ECE9D8; color: {T_FONTFACE1}; text-decoration: none; cursor: default; white-space: nowrap; display: block; position: relative; } .XulMenu .button:hover { border-color: #ffffff #ACA899 #ACA899 #ffffff; } .XulMenu .button-active, .XulMenu .button-active:hover { border-color: #ACA899 #ffffff #ffffff #ACA899; } .XulMenu .item, .XulMenu .item:hover, .XulMenu .item-active, .XulMenu .item-active:hover { background: {T_TR_COLOR1}; line-height: normal; text-align: left; padding: 3px 30px 3px 20px; color: #000000; border: 1px {T_TR_COLOR1}; border-style: solid solid solid solid; text-decoration: none; cursor: default; white-space: nowrap; display: block; position: relative; } .XulMenu .item:hover, .XulMenu .item-active, .XulMenu .item-active:hover { background: {T_TR_COLOR2}; color: {T_FONTFACE1}; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; } .XulMenu .section { background: {T_TR_COLOR1}; border: 1px {T_TH_COLOR1}; border-style: solid solid solid solid; padding: 2px 1px 1px 2px; position: absolute; visibility: hidden; z-index: -1; } .XulMenu .arrow { position: absolute; top: 7px; right: 8px; border: 0; } * html .XulMenu td { position: relative; } /* ie 5.0 fix */ --> </style> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/ie5.js"></script> <script type="text/javascript" src="{MX_ROOT_PATH}modules/mx_shared/mygosumenu/1.4/XulMenu.js"></script> <table width="100%" cellpadding="0" cellspacing="1" border="0" class="forumline" style="border-top:none;"> <tr> <td align="left" class="row1"> <div id="bar"> <table cellspacing="0" cellpadding="0" id="menu{MENU_ID}" class="XulMenu"> <tr> <!-- BEGIN catrow --> <td> <a class="button" href="javascript:void(0)">{catrow.CATEGORY_NAME}</a> <div class="section"> <!-- BEGIN modulerow --> <a class="item" href="{catrow.modulerow.U_MENU_MODULE}" target="{catrow.modulerow.U_LINK_TARGET}">{catrow.modulerow.MENU_NAME}</a> <!-- END modulerow --> </div> </td> <!-- END catrow --> </tr> </table> </div> </td> </tr> </table> --- NEW FILE: mx_menu_classic_ver.tpl --- <table width="100%" cellpadding="0" cellspacing="1" border="0" class="forumline" style="border-top:none;"> <!-- BEGIN catrow --> <tr> <td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td class="row2" align="left"> <table width="100%" cellpadding="2" cellspacing="0" border="0" > <tr> <td class="cat" align="center" width="10" style="border:none;"> <span class="mx_rollup_button" onClick="mx_toggle(this, 'mxNavCat_{catrow.BLOCK_ID}{catrow.CAT_ID}', '{catrow.U_CAT_NAV_EXPAND}', '{catrow.U_CAT_NAV_CONTRACT}');"><img src="{catrow.U_CAT_NAV_DYNAMIC}" border="0" alt=""/></span> </td> <td class="cat" align="left" width="100%" style="border:none;"> <span class="nav"> {catrow.CATEGORY}</span> <!-- BEGIN switch_cat_desc --> <br> <span class="gensmall"> {catrow.switch_cat_desc.CAT_DESC}</span> <!-- END switch_cat_desc --> </td> </tr> </table> </td> </tr> </table> </td> </tr> <tbody id="mxNavCat_{catrow.BLOCK_ID}{catrow.CAT_ID}" style="display: {catrow.CAT_SHOW};"> <tr> <td class="row1"> <table width="100%" cellpadding="2" cellspacing="0" border="0"> <!-- BEGIN modulerow --> <tr> <td style="border:none;" class="row1" valign="middle" height="10" align="left" colspan="2" onmouseout="this.className='row1';" onmouseover="this.className='row2';">{catrow.modulerow.U_MENU_ICON}<span class="{catrow.modulerow.MENU_STYLE}"> <a href="{catrow.modulerow.U_MENU_MODULE}" target="{catrow.modulerow.U_LINK_TARGET}" class="genmed" title="{catrow.modulerow.MENU_DESC}">{catrow.modulerow.MENU_NAME}</a></span></td> </tr> <!-- END modulerow --> </table> </td> </tr> </tbody> <!-- END catrow --> </table> |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:52:57
|
Update of /cvsroot/mxbb/core/modules/mx_navmenu/templates/_core/admin In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv11044/admin Added Files: index.htm mx_module_parameters.tpl mx_module_parameters_site.tpl Log Message: Ok, massive update for 2.9.x. --- NEW FILE: mx_module_parameters_site.tpl --- <script type="text/javascript"> function getCookie(name) { var cookies = document.cookie; var start = cookies.indexOf(name + '='); if( start < 0 ) return null; var len = start + name.length + 1; var end = cookies.indexOf(';', len); if( end < 0 ) end = cookies.length; return unescape(cookies.substring(len, end)); } function setCookie(name, value, expires, path, domain, secure) { document.cookie = name + '=' + escape (value) + ((expires) ? '; expires=' + ( (expires == 'never') ? 'Thu, 31-Dec-2099 23:59:59 GMT' : expires.toGMTString() ) : '') + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : '') + ((secure) ? '; secure' : ''); } function delCookie(name, path, domain) { if( getCookie(name) ) { document.cookie = name + '=;expires=Thu, 01-Jan-1970 00:00:01 GMT' + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : ''); } } function handleError() { return true; } window.onerror = handleError; function menuCat(id, mode, visible) { this.cat_id = id; this.menu_mode = mode; this.status = visible != '' ? visible : 'none'; } var menuCats = new Array(); function getObj(obj) { return ( document.getElementById ? document.getElementById(obj) : ( document.all ? document.all[obj] : null ) ); } function displayObj(obj, status) { var x = getObj(obj); if( x && x.style ) x.style.display = status; } var queueInterval = 0; // milliseconds between queued steps. var execInterval = 0; var queuedSteps; var currentStep; function queueStep(o, s) { this.obj = o; this.status = s; } function execQueue() { if( currentStep < queuedSteps.length ) { var obj = queuedSteps[currentStep].obj; var status = queuedSteps[currentStep].status; displayObj(obj, status); if( menuCats[obj] ) menuCats[obj].status = status; currentStep++; setTimeout("execQueue();", execInterval); } else { execInterval = queueInterval; } } function onMenuCatClick(cat_id, type, init) { var currentCat, currentStatus; var imageSCR = type+'image_'+cat_id; var strSubmitContent = ''; parentCatMode = 'adminCat_'; parentCatEditMode = 'adminCatEdit_'; parentMenuEditMode = 'adminMenuEdit_'; parentCat = parentCatMode + cat_id; parentCatEdit = parentCatEditMode + cat_id; parentMenuEdit = parentMenuEditMode + cat_id; currentCat = type + cat_id; currentStatus = menuCats[currentCat].status; queuedSteps = new Array(); cookieArray = new Array(); currentStep = 0; for( var forCat in menuCats ) { if( (init == 'true' && (menuCats[forCat].status == 'block') && menuCats[forCat].menu_mode == parentCat) || (init != 'true' && ( (currentCat == parentCat && menuCats[forCat].status == 'block') || (currentCat == parentCatEdit && menuCats[forCat].menu_mode != parentCat && menuCats[forCat].status == 'block') || (currentCat == parentMenuEdit && menuCats[forCat].menu_mode != parentCatMode && menuCats[forCat].status == 'block') ))) { queuedSteps[currentStep++] = new queueStep(forCat, 'none'); menuCats[forCat].status = 'none'; forCatimage = menuCats[forCat].menu_mode+'image_'+menuCats[forCat].cat_id; if( document.images && document.images[forCatimage] ) { document.images[forCatimage].src = '{IMG_URL_EXPAND}'; } } } if( currentStatus == 'none' ) { if (menuCats[parentCat] && menuCats[currentCat].menu_mode != parentMenuEditMode ) { if (menuCats[parentCat].status == 'none') { queuedSteps[currentStep++] = new queueStep(parentCat, 'block'); menuCats[parentCat].status = 'block'; forCatimage = menuCats[parentCat].menu_mode+'image_'+menuCats[parentCat].cat_id; if( document.images && document.images[forCatimage] ) { document.images[forCatimage].src = '{IMG_URL_CONTRACT}'; } } } queuedSteps[currentStep++] = new queueStep(currentCat, 'block'); menuCats[currentCat].status = 'block'; if (currentCat == parentCat) { var expdate = new Date(); // 72 Hours from now expdate.setTime(expdate.getTime() + (72 * 60 * 60 * 1000)); setCookie('{COOKIE_NAME}_'+type+'xxx_id', cat_id, expdate, ('{COOKIE_PATH}' == '') ? null : '{COOKIE_PATH}', ('{COOKIE_DOMAIN}' == '') ? null : '{COOKIE_DOMAIN}', ('{COOKIE_SECURE}' == '0') ? false : true); } if( document.images && document.images[imageSCR] ) { document.images[imageSCR].src = '{IMG_URL_CONTRACT}'; } } else { delCookie('{COOKIE_NAME}_'+type+'xxx_id', ('{COOKIE_PATH}' == '') ? null : '{COOKIE_PATH}', ('{COOKIE_DOMAIN}' == '') ? null : '{COOKIE_DOMAIN}'); } for( var forCat in menuCats ) { if ( menuCats[forCat].status == 'block' ) { strSubmitContent += forCat + ','; } } // Remove trailing separator strSubmitContent = strSubmitContent.substr(0, strSubmitContent.length - 1); setCookie('{COOKIE_NAME}_admincp_sitestates', strSubmitContent, expdate, ('{COOKIE_PATH}' == '') ? null : '{COOKIE_PATH}', ('{COOKIE_DOMAIN}' == '') ? null : '{COOKIE_DOMAIN}', ('{COOKIE_SECURE}' == '0') ? false : true); currentStep = 0; setTimeout("execQueue();", execInterval); } // --> </script> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" align="center"> <tr> <th class="thHead">{L_MENU_TITLE}</th> </tr> <tr> <td align="center"> {RESULT_MESSAGE} </td> </tr> <!-- BEGIN catrow --> <tr> <td class="row1"> <table width="100%" cellpadding="0" cellspacing="0" border="0" align="center" class="forumline"> <tr> <td width="50%" class="catLeft" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.CAT_ID}','adminCat_');"> <img name="adminCat_image_{catrow.CAT_ID}" src="{catrow.IMG_URL}" border="0" align="absmiddle"> <span class="cattitle"><b>{catrow.CAT_TITLE}</b></span><br /><span class="gensmall"><b>{catrow.CAT_DESC}</b></span> </td> <td width="15%" class="cat" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.CAT_ID}','adminCatEdit_');"> <img name="adminCatEdit_image_{catrow.CAT_ID}" src="{catrow.IMG_URL_EDIT}" border="0" align="absmiddle"> <span class="gen">{L_EDIT}</span> </td> <td width="20%" class="cat" align="center" valign="middle" nowrap="nowrap"> <span class="gen"><a href="{catrow.U_CAT_MOVE_UP}">{L_MOVE_UP}</a> <a href="{catrow.U_CAT_MOVE_DOWN}">{L_MOVE_DOWN}</a></span> </td> </tr> <tr> <td colspan="3" class="row1"> <div id="adminCat_{catrow.CAT_ID}" style="display:{catrow.VISIBLE};" class="genmed"> <table width="100%" cellpadding="0" cellspacing="0" border="0" align="center"> <tr> <td bgcolor="#006699" width="10"></td> <td> <table width="100%" cellpadding="0" cellspacing="0" border="0" align="center"> <!-- Cat Edit --> <tr> <td class="row1" colspan="5"> <div id="adminCatEdit_{catrow.CAT_ID}" style="display:{catrow.VISIBLE_EDIT};" class="genmed" > <form name="form_adminCatEdit_{catrow.CAT_ID}" action="{S_ACTION}" method="post" > <table width="100%" cellpadding="1" cellspacing="2" border="0" align="center"> <tr> <td class="row2" colspan="2" align="center" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.CAT_ID}','adminCatEdit_');"><img src="{IMG_URL_CONTRACT}" border="0" align="absmiddle"> <span class="topictitle">{catrow.L_TITLE_EDIT}</span></td> </tr> <tr> <td class="row1"><b>{catrow.L_CAT_TITLE}</b></td> <td class="row2" colspan="2"><input type="text" size="25" name="cat_title" value="{catrow.E_CAT_TITLE}" /></td> </tr> <tr> <td class="row1">{catrow.L_MENU_ACTIVE}</td> <td class="row2">{catrow.S_MENU_ACTIVE}</td> </tr> <tr> <td class="row1" colspan="2">{catrow.L_MENU_ACTION_ADV}</td> </tr> <tr> <td class="row1" valign="top">{catrow.L_MENU_ICON}</td> <td class="row2">{catrow.S_POSTICONS}</td> </tr> <tr> <td class="row1">{catrow.L_MENU_ALT_ICON}</td> <td class="row2"><input type="text" size="65" name="menu_alt_icon" value="{catrow.E_MENU_ALT_ICON}" class="post" /></td> </tr> <tr> <td class="row1">{catrow.L_MENU_ALT_ICON_HOT}</td> <td class="row2"><input type="text" size="65" name="menu_alt_icon_hot" value="{catrow.E_MENU_ALT_ICON_HOT}" class="post" /></td> </tr> <tr> <td class="row2" colspan="2" align="center">{catrow.S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{catrow.S_SUBMIT}" class="liteoption" /></td> </tr> </table> </form> </div> </td> </tr> <!-- Cat Edit --> <!-- BEGIN nocat --> {catrow.nocat.NONE} <!-- END nocat --> <!-- BEGIN menurow --> <tr> <td class="row1" colspan="5"> <table width="100%" cellpadding="0" cellspacing="0" border="0" align="center"> <tr> <td class="row2" width="5"> </td> <td> <table width="100%" cellpadding="4" cellspacing="0" border="0" align="center"> <tr> <td width="65%" class="{catrow.menurow.ROW_CLASS}" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.menurow.MENU_ID}','adminMenuEdit_');"><img name="adminMenuEdit_image_{catrow.menurow.MENU_ID}" src="{catrow.menurow.IMG_URL_EDIT}" border="0" align="absmiddle"> <img src="{IMG_ICON_BLOCK}" border="0" align="absmiddle"> <span class="gensmall">{catrow.menurow.MENU_TITLE}</span><br /><span class="gensmall">{catrow.menurow.MENU_DESC}</span> </td> <td width="20%" class="{catrow.menurow.ROW_CLASS}" align="center" valign="middle"> <span class="gensmall"><a href="{catrow.menurow.U_MENU_MOVE_UP}">{L_MOVE_UP}</a> <a href="{catrow.menurow.U_MENU_MOVE_DOWN}">{L_MOVE_DOWN}</a></span> </td> </tr> <!-- Menu Edit --> <tr> <td class="row1" colspan="3"> <div id="adminMenuEdit_{catrow.menurow.MENU_ID}" style="display:{catrow.menurow.VISIBLE_EDIT};" class="genmed"> <form name="form_adminMenuEdit_{catrow.menurow.MENU_ID}" action="{S_ACTION}" method="post"> <table width="100%" cellpadding="1" cellspacing="2" border="0" align="center"> <tr> <td class="row2" colspan="2" align="center" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.menurow.MENU_ID}','adminMenuEdit_');"><img src="{IMG_URL_CONTRACT}" border="0" align="absmiddle"> <span class="topictitle">{catrow.menurow.L_TITLE_EDIT}</span></td> </tr> <tr> <td class="row1">{catrow.menurow.L_MENU_TITLE}</td> <td class="row2"><input type="text" size="45" name="menuname" value="{catrow.menurow.E_MENU_TITLE}" class="post" /></td> </tr> <tr> <td class="row1">{catrow.menurow.L_MENU_ACTIVE}</td> <td class="row2">{catrow.menurow.S_MENU_ACTIVE}</td> </tr> <tr> <td class="row1" colspan="2">{catrow.menurow.L_MENU_ACTION_ADV}</td> </tr> <tr> <td class="row1" valign="top">{catrow.menurow.L_MENU_ICON}</td> <td class="row2">{catrow.menurow.S_POSTICONS}</td> </tr> <tr> <td class="row1">{catrow.menurow.L_MENU_ALT_ICON}</td> <td class="row2"><input type="text" size="65" name="menu_alt_icon" value="{catrow.menurow.E_MENU_ALT_ICON}" class="post" /></td> </tr> <tr> <td class="row1">{catrow.menurow.L_MENU_ALT_ICON_HOT}</td> <td class="row2"><input type="text" size="65" name="menu_alt_icon_hot" value="{catrow.menurow.E_MENU_ALT_ICON_HOT}" class="post" /></td> </tr> <tr> <td class="row2" colspan="2" align="center">{catrow.menurow.S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{catrow.menurow.S_SUBMIT}" class="liteoption" /></td> </tr> </table> </form> </div> </td> </tr> <!-- Menu Edit --> </table> </td> </tr> </table> </td> </tr> <!-- END menurow --> </table> </td> </tr> </table> </div> </td> </tr> </table> </td> </tr> <!-- END catrow --> </table> <script type="text/javascript"> <!-- BEGIN catrow --> menuCats['adminCat_{catrow.CAT_ID}'] = new menuCat('{catrow.CAT_ID}', 'adminCat_', '{catrow.VISIBLE}'); menuCats['adminCatEdit_{catrow.CAT_ID}'] = new menuCat('{catrow.CAT_ID}', 'adminCatEdit_', '{catrow.VISIBLE_EDIT}' ); <!-- BEGIN menurow --> menuCats['adminMenuEdit_{catrow.menurow.MENU_ID}'] = new menuCat('{catrow.menurow.MENU_ID}', 'adminMenuEdit_', '{catrow.menurow.VISIBLE_EDIT}'); <!-- END menurow --> <!-- END catrow --> // --> </script> --- NEW FILE: mx_module_parameters.tpl --- <script type="text/javascript"> function getCookie(name) { var cookies = document.cookie; var start = cookies.indexOf(name + '='); if( start < 0 ) return null; var len = start + name.length + 1; var end = cookies.indexOf(';', len); if( end < 0 ) end = cookies.length; return unescape(cookies.substring(len, end)); } function setCookie(name, value, expires, path, domain, secure) { document.cookie = name + '=' + escape (value) + ((expires) ? '; expires=' + ( (expires == 'never') ? 'Thu, 31-Dec-2099 23:59:59 GMT' : expires.toGMTString() ) : '') + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : '') + ((secure) ? '; secure' : ''); } function delCookie(name, path, domain) { if( getCookie(name) ) { document.cookie = name + '=;expires=Thu, 01-Jan-1970 00:00:01 GMT' + ((path) ? '; path=' + path : '') + ((domain) ? '; domain=' + domain : ''); } } function handleError() { return true; } window.onerror = handleError; function menuCat(id, mode, visible, page_nav, block_nav, function_nav) { this.cat_id = id; this.block_nav = block_nav; this.page_nav = page_nav; this.function_nav = function_nav; this.menu_mode = mode; this.status = visible != '' ? visible : 'none'; } var menuCats = new Array(); function getObj(obj) { return ( document.getElementById ? document.getElementById(obj) : ( document.all ? document.all[obj] : null ) ); } function displayObj(obj, status) { var x = getObj(obj); if( x && x.style ) x.style.display = status; } var queueInterval = 0; // milliseconds between queued steps. var execInterval = 0; var queuedSteps; var currentStep; function queueStep(o, s) { this.obj = o; this.status = s; } function execQueue() { if( currentStep < queuedSteps.length ) { var obj = queuedSteps[currentStep].obj; var status = queuedSteps[currentStep].status; displayObj(obj, status); if( menuCats[obj] ) menuCats[obj].status = status; currentStep++; setTimeout("execQueue();", execInterval); } else { execInterval = queueInterval; } } function onMenuCatClick(cat_id, type, init) { var currentCat, currentStatus; var imageSCR = type+'image_'+cat_id; var strSubmitContent = ''; parentCatMode = 'adminCat_'; parentCatEditMode = 'adminCatEdit_'; parentCatDeleteMode = 'adminCatDelete_'; parentMenuEditMode = 'adminMenuEdit_'; parentMenuDeleteMode = 'adminMenuDelete_'; parentCat = parentCatMode + cat_id; parentCatEdit = parentCatEditMode + cat_id; parentCatDelete = parentCatDeleteMode + cat_id; parentMenuEdit = parentMenuEditMode + cat_id; parentMenuDelete = parentMenuDeleteMode + cat_id; currentCat = type + cat_id; currentStatus = menuCats[currentCat].status; queuedSteps = new Array(); cookieArray = new Array(); currentStep = 0; for( var forCat in menuCats ) { if( (init == 'true' && (menuCats[forCat].status == 'block') && menuCats[forCat].menu_mode == parentCat) || (init != 'true' && ( (currentCat == parentCat && menuCats[forCat].status == 'block') || (currentCat == parentCatEdit && menuCats[forCat].menu_mode != parentCat && menuCats[forCat].status == 'block') || (currentCat == parentCatDelete && menuCats[forCat].menu_mode != parentCat && menuCats[forCat].status == 'block') || (currentCat == parentMenuEdit && menuCats[forCat].menu_mode != parentCatMode && menuCats[forCat].status == 'block') || (currentCat == parentMenuDelete && menuCats[forCat].menu_mode != parentCatMode && menuCats[forCat].status == 'block') ))) { queuedSteps[currentStep++] = new queueStep(forCat, 'none'); menuCats[forCat].status = 'none'; forCatimage = menuCats[forCat].menu_mode+'image_'+menuCats[forCat].cat_id; if( document.images && document.images[forCatimage] ) { document.images[forCatimage].src = '{IMG_URL_EXPAND}'; } } } if( currentStatus == 'none' ) { if (menuCats[parentCat] && menuCats[currentCat].menu_mode != parentMenuEditMode && menuCats[currentCat].menu_mode != parentMenuDeleteMode) { if (menuCats[parentCat].status == 'none') { queuedSteps[currentStep++] = new queueStep(parentCat, 'block'); menuCats[parentCat].status = 'block'; forCatimage = menuCats[parentCat].menu_mode+'image_'+menuCats[parentCat].cat_id; if( document.images && document.images[forCatimage] ) { document.images[forCatimage].src = '{IMG_URL_CONTRACT}'; } } } queuedSteps[currentStep++] = new queueStep(currentCat, 'block'); menuCats[currentCat].status = 'block'; if (currentCat == parentCat) { var expdate = new Date(); // 72 Hours from now expdate.setTime(expdate.getTime() + (72 * 60 * 60 * 1000)); setCookie('{COOKIE_NAME}_'+type+'xxx_id', cat_id, expdate, ('{COOKIE_PATH}' == '') ? null : '{COOKIE_PATH}', ('{COOKIE_DOMAIN}' == '') ? null : '{COOKIE_DOMAIN}', ('{COOKIE_SECURE}' == '0') ? false : true); } if( document.images && document.images[imageSCR] ) { document.images[imageSCR].src = '{IMG_URL_CONTRACT}'; } // Update Form Selects - on the fly if (parentCatEditMode == type) { EditForm = 'form_' + parentCatEditMode + cat_id; duplicateForm(document.fromForm.pages, document.forms[EditForm].cat_url_sel, menuCats[currentCat].page_nav); } if (parentMenuEditMode == type) { EditForm = 'form_' + parentMenuEditMode + cat_id; duplicateForm(document.fromForm.blocks, document.forms[EditForm].block_nav, menuCats[currentCat].block_nav); duplicateForm(document.fromForm.pages, document.forms[EditForm].page_nav, menuCats[currentCat].page_nav); duplicateForm(document.fromForm.functions, document.forms[EditForm].function_id, menuCats[currentCat].function_nav); } } else { delCookie('{COOKIE_NAME}_'+type+'xxx_id', ('{COOKIE_PATH}' == '') ? null : '{COOKIE_PATH}', ('{COOKIE_DOMAIN}' == '') ? null : '{COOKIE_DOMAIN}'); } for( var forCat in menuCats ) { if ( menuCats[forCat].status == 'block' ) { strSubmitContent += forCat + ','; } } // Remove trailing separator strSubmitContent = strSubmitContent.substr(0, strSubmitContent.length - 1); setCookie('{COOKIE_NAME}_admincp_menustates', strSubmitContent, expdate, ('{COOKIE_PATH}' == '') ? null : '{COOKIE_PATH}', ('{COOKIE_DOMAIN}' == '') ? null : '{COOKIE_DOMAIN}', ('{COOKIE_SECURE}' == '0') ? false : true); currentStep = 0; setTimeout("execQueue();", execInterval); } function deleteOption(object,index) { object.options[index] = null; } function addOption(object,text,value, selectedValue) { var defaultSelected = false; var selected = false; if (value == selectedValue) { defaultSelected = true; selected = true; } var optionName = new Option(text, value, defaultSelected, selected) object.options[object.length] = optionName; } function copySelected(fromObject,toObject) { for (var i=0, l=fromObject.options.length;i<l;i++) { if (fromObject.options[i].selected) addOption(toObject,fromObject.options[i].text,fromObject.options[i].value); } for (var i=fromObject.options.length-1;i>-1;i--) { if (fromObject.options[i].selected) deleteOption(fromObject,i); } } function copyAll(fromObject,toObject) { for (var i=0, l=fromObject.options.length;i<l;i++) { addOption(toObject,fromObject.options[i].text,fromObject.options[i].value); } for (var i=fromObject.options.length-1;i>-1;i--) { deleteOption(fromObject,i); } } function duplicateForm(fromObject,toObject, selectedValue) { toObject.options.length = null; for (var i=0; i<fromObject.options.length;i++) { addOption(toObject,fromObject.options[i].text,fromObject.options[i].value, selectedValue); // For some reason i have to reselect, to make it work in IE (Haplo is confused here...) if (fromObject.options[i].value == selectedValue) { toObject.selectedIndex = i; } } } // --> </script> <div style="display:none;"> <form name="fromForm"> {S_GEN_BLOCK_LIST} {S_GEN_FUNCTION_LIST} {S_GEN_PAGE_LIST} </form> </div> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" align="center"> <tr> <th class="thHead">{L_MENU_TITLE}</th> </tr> <tr> <td align="center"> {RESULT_MESSAGE} </td> </tr> <!-- BEGIN catrow --> <tr> <td class="row1"> <table width="100%" cellpadding="0" cellspacing="0" border="0" align="center" class="forumline"> <tr> <!-- BEGIN is_new --> <td width="50%" class="catLeft" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.CAT_ID}','adminCatEdit_');"> <img name="adminCatEdit_image_{catrow.CAT_ID}" src="{catrow.IMG_URL_EDIT}" border="0" align="absmiddle"> <span class="cattitle"><b>{catrow.CAT_TITLE}</b></span><br /><span class="gensmall"><b>{catrow.CAT_DESC}</b></span> </td> <!-- END is_new --> <!-- BEGIN is_cat --> <td width="50%" class="catLeft" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.CAT_ID}','adminCat_');"> <img name="adminCat_image_{catrow.CAT_ID}" src="{catrow.IMG_URL}" border="0" align="absmiddle"> <span class="cattitle"><b>{catrow.CAT_TITLE}</b></span><br /><span class="gensmall"><b>{catrow.CAT_DESC}</b></span> </td> <!-- END is_cat --> <td width="15%" class="cat" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.CAT_ID}','adminCatEdit_');"> <!-- BEGIN is_cat --> <img name="adminCatEdit_image_{catrow.CAT_ID}" src="{catrow.IMG_URL_EDIT}" border="0" align="absmiddle"> <span class="gen">{L_EDIT}</span> <!-- END is_cat --> </td> <td width="15%" class="cat" align="center" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.CAT_ID}','adminCatDelete_');"> <!-- BEGIN is_cat --> <img name="adminCatDelete_image_{catrow.CAT_ID}" src="{catrow.IMG_URL_DELETE}" border="0" align="absmiddle"> <span class="gen">{L_DELETE}</span> <!-- END is_cat --> </td> <td width="20%" class="cat" align="center" valign="middle" nowrap="nowrap"> <!-- BEGIN is_cat --> <span class="gen"><a href="{catrow.U_CAT_MOVE_UP}">{L_MOVE_UP}</a> <a href="{catrow.U_CAT_MOVE_DOWN}">{L_MOVE_DOWN}</a></span> <!-- END is_cat --> </td> </tr> <tr> <td colspan="4" class="row1"> <div id="adminCat_{catrow.CAT_ID}" style="display:{catrow.VISIBLE};" class="genmed"> <table width="100%" cellpadding="0" cellspacing="0" border="0" align="center"> <tr> <td bgcolor="#006699" width="10"></td> <td> <table width="100%" cellpadding="0" cellspacing="0" border="0" align="center"> <!-- Cat Delete --> <tr> <td colspan="5" class="row1"> <div id="adminCatDelete_{catrow.CAT_ID}" style="display:{catrow.VISIBLE_DELETE};" class="genmed"> <form action="{S_ACTION}" method="post"> <table width="100%" cellpadding="1" cellspacing="2" border="0" align="center"> <tr> <td class="row2" colspan="2" align="center" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.CAT_ID}','adminCatDelete_');"><img src="{IMG_URL_CONTRACT}" border="0" align="absmiddle"> <span class="topictitle">{catrow.L_TITLE_DELETE}</span></td> </tr> <tr> <td width="50%" class="row1" align="right"><b>{catrow.L_MENU_NAME}</b></td> <td class="row1"><span class="row1">{catrow.NAME}</span></td> </tr> <tr> <td width="50%" class="row1" align="right"><input type="checkbox" name="move_contents" value="1" />{catrow.L_MOVE_CONTENTS}</td> <td class="row1">{catrow.S_SELECT_TO}</td> </tr> <tr> <td class="row2" colspan="2" align="center">{catrow.S_HIDDEN_DELETE_FIELDS}<input type="submit" name="submit" value="{catrow.S_SUBMIT_DELETE}" class="mainoption" /></td> </tr> </table> </form> </div> </td> </tr> <!-- Cat Delete --> <!-- Cat Edit --> <tr> <td class="row1" colspan="5"> <div id="adminCatEdit_{catrow.CAT_ID}" style="display:{catrow.VISIBLE_EDIT};" class="genmed" > <form name="form_adminCatEdit_{catrow.CAT_ID}" action="{S_ACTION}" method="post" > <table width="100%" cellpadding="1" cellspacing="2" border="0" align="center"> <tr> <td class="row2" colspan="2" align="center" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.CAT_ID}','adminCatEdit_');"><img src="{IMG_URL_CONTRACT}" border="0" align="absmiddle"> <span class="topictitle">{catrow.L_TITLE_EDIT}</span></td> </tr> <tr> <td class="row1"><b>{catrow.L_CAT_TITLE}</b></td> <td class="row2" colspan="2"><input type="text" size="25" name="cat_title" value="{catrow.E_CAT_TITLE}" /></td> </tr> <tr> <td class="row1"><b>{catrow.L_CAT_DESC}</b></td> <td class="row2" colspan="2"><textarea name="cat_desc" rows="15" cols="35" wrap="virtual" style="width:450px" tabindex="3" class="post">{catrow.E_CAT_DESC}</textarea></td> </tr> <tr> <td class="row1">{catrow.L_CAT_SHOW_CAT}</td> <td class="row2">{catrow.S_CAT_SHOW_CAT}</td> </tr> <!-- <tr> <td class="row1">{catrow.L_CAT_MENU_PAGE}</td> <td class="row2">{catrow.S_CAT_PAGE_LIST}</td> </tr> --> <tr> <td class="row1">{catrow.L_CAT_MENU_PAGE}</td> <td class="row2"><select name="cat_url_sel" ><option value="0">0</option></select></td> </tr> <tr> <td class="row1">{catrow.L_CAT_LINK_TARGET}</td> <td class="row2">{catrow.S_CAT_LINK_TARGET_LIST}</td> </tr> <tr> <td class="row2" colspan="2" align="center">{catrow.S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{catrow.S_SUBMIT}" class="liteoption" /></td> </tr> </table> </form> </div> </td> </tr> <!-- Cat Edit --> <!-- BEGIN nocat --> {catrow.nocat.NONE} <!-- END nocat --> <!-- BEGIN menurow --> <tr> <td class="row1" colspan="5"> <table width="100%" cellpadding="0" cellspacing="0" border="0" align="center"> <tr> <td class="row2" width="5"> </td> <td> <table width="100%" cellpadding="4" cellspacing="0" border="0" align="center"> <tr> <td width="65%" class="{catrow.menurow.ROW_CLASS}" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.menurow.MENU_ID}','adminMenuEdit_');"><img name="adminMenuEdit_image_{catrow.menurow.MENU_ID}" src="{catrow.menurow.IMG_URL_EDIT}" border="0" align="absmiddle"> <img src="{IMG_ICON_BLOCK}" border="0" align="absmiddle"> <span class="gensmall">{catrow.menurow.MENU_TITLE}</span><br /><span class="gensmall">{catrow.menurow.MENU_DESC}</span> </td> <td width="15%" class="{catrow.menurow.ROW_CLASS}" align="center" valign="middle" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.menurow.MENU_ID}','adminMenuDelete_');" > <!-- BEGIN is_menu --> <img name="adminMenuDelete_image_{catrow.menurow.MENU_ID}" src="{catrow.menurow.IMG_URL_DELETE}" border="0" align="absmiddle"> <span class="gensmall">{L_DELETE}</span> <!-- END is_menu --> </td> <td width="20%" class="{catrow.menurow.ROW_CLASS}" align="center" valign="middle"> <!-- BEGIN is_menu --> <span class="gensmall"><a href="{catrow.menurow.U_MENU_MOVE_UP}">{L_MOVE_UP}</a> <a href="{catrow.menurow.U_MENU_MOVE_DOWN}">{L_MOVE_DOWN}</a></span> <!-- END is_menu --> </td> </tr> <!-- Menu Delete --> <tr> <td colspan="3" class="row1"> <div id="adminMenuDelete_{catrow.menurow.MENU_ID}" style="display:{catrow.menurow.VISIBLE_DELETE};" class="genmed"> <table width="100%" cellpadding="1" cellspacing="2" border="0" align="center"> <tr> <td class="row2" colspan="2" align="center" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.menurow.MENU_ID}','adminMenuDelete_');"><img src="{IMG_URL_CONTRACT}" border="0" align="absmiddle"> <span class="topictitle">{catrow.menurow.L_TITLE_DELETE}</span></td> </tr> <tr> <td width="50%" align="center" colspan="2"> {catrow.menurow.MESSAGE_DELETE} </td> </tr> </table> </div> </td> </tr> <!-- Menu Delete --> <!-- Menu Edit --> <tr> <td class="row1" colspan="3"> <div id="adminMenuEdit_{catrow.menurow.MENU_ID}" style="display:{catrow.menurow.VISIBLE_EDIT};" class="genmed"> <form name="form_adminMenuEdit_{catrow.menurow.MENU_ID}" action="{S_ACTION}" method="post"> <table width="100%" cellpadding="1" cellspacing="2" border="0" align="center"> <tr> <td class="row2" colspan="2" align="center" style="cursor:pointer;cursor:hand;" onclick="onMenuCatClick('{catrow.menurow.MENU_ID}','adminMenuEdit_');"><img src="{IMG_URL_CONTRACT}" border="0" align="absmiddle"> <span class="topictitle">{catrow.menurow.L_TITLE_EDIT}</span></td> </tr> <tr> <td class="row1">{catrow.menurow.L_MENU_TITLE}</td> <td class="row2"><input type="text" size="45" name="menuname" value="{catrow.menurow.E_MENU_TITLE}" class="post" /></td> </tr> <tr> <td class="row1">{catrow.menurow.L_MENU_DESC}</td> <td class="row2"><textarea rows="5" cols="45" wrap="virtual" name="message" class="post">{catrow.menurow.E_MENU_DESC}</textarea></td> </tr> <tr> <td class="row1">{catrow.menurow.L_MENU_LINK_TARGET}</td> <td class="row2">{catrow.menurow.S_LINK_TARGET_LIST}</td> </tr> <tr> <td class="row1" colspan="2">{catrow.menurow.L_MENU_ACTION_TITLE}</td> </tr> <tr> <td class="row1">{catrow.menurow.L_MENU_PAGE}</td> <td class="row2"><select name="page_nav" ><option value="0">0</option></select></td> </tr> <tr> <td class="row1">{catrow.menurow.L_MENU_LINKS}</td> <td class="row2"><input type="text" size="65" name="menulinks" value="{catrow.menurow.E_MENU_LINKS}" class="post" /></td> </tr> <tr> <td class="row1">{catrow.menurow.L_MENU_BLOCK}</td> <td class="row2"><select name="block_nav" ><option value="0">0</option></select></td> </tr> <tr> <td class="row1" colspan="2">{catrow.menurow.L_MENU_ACTION_ADV}</td> </tr> <tr> <td class="row1">{catrow.menurow.L_MENU_FUNCTION}</td> <td class="row2"><select name="function_id" ><option value="0">0</option></select></td> </tr> <tr> <td class="row1" colspan="2">{catrow.menurow.L_MENU_PERMISSIONS_TITLE}</td> </tr> <tr> <td class="row1">{catrow.menurow.L_AUTH_TITLE}</td> <td class="row2"> <table cellspacing="1" cellpadding="4" border="0" class="portalline"> <tr> <!-- BEGIN module_auth_titles --> <th class="thTop">{catrow.menurow.module_auth_titles.CELL_TITLE}</th> <!-- END module_auth_titles --> </tr> <!-- BEGIN module_auth_data --> <tr> <td class="row1" align="center">{catrow.menurow.module_auth_data.S_AUTH_LEVELS_SELECT}</td> </tr> <tr> <th class="thTop">{catrow.menurow.module_auth_data.L_AUTH_GROUP_LEVELS_SELECT}</th> </tr> <tr> <td class="row1" align="center">{catrow.menurow.module_auth_data.S_AUTH_GROUP_LEVELS_SELECT}</td> </tr> <!-- END module_auth_data --> </table> </td> </tr> <tr> <td class="row1" valign="top">{catrow.menurow.L_MENU_ICON}</td> <td class="row2">{catrow.menurow.S_POSTICONS}</td> </tr> <tr> <td class="row1">{catrow.menurow.L_MENU_ALT_ICON}</td> <td class="row2"><input type="text" size="65" name="menu_alt_icon" value="{catrow.menurow.E_MENU_ALT_ICON}" class="post" /></td> </tr> <tr> <td class="row1">{catrow.menurow.L_MENU_ALT_ICON_HOT}</td> <td class="row2"><input type="text" size="65" name="menu_alt_icon_hot" value="{catrow.menurow.E_MENU_ALT_ICON_HOT}" class="post" /></td> </tr> <tr> <td class="row2" colspan="2" align="center">{catrow.menurow.S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{catrow.menurow.S_SUBMIT}" class="liteoption" /></td> </tr> </table> </form> </div> </td> </tr> <!-- Menu Edit --> </table> </td> </tr> </table> </td> </tr> <!-- END menurow --> </table> </td> </tr> </table> </div> </td> </tr> </table> </td> </tr> <!-- END catrow --> </table> <script type="text/javascript"> <!-- BEGIN catrow --> menuCats['adminCat_{catrow.CAT_ID}'] = new menuCat('{catrow.CAT_ID}', 'adminCat_', '{catrow.VISIBLE}', '', '', ''); menuCats['adminCatEdit_{catrow.CAT_ID}'] = new menuCat('{catrow.CAT_ID}', 'adminCatEdit_', '{catrow.VISIBLE_EDIT}', '{catrow.PAGE_NAV}', '', ''); menuCats['adminCatDelete_{catrow.CAT_ID}'] = new menuCat('{catrow.CAT_ID}', 'adminCatDelete_', '{catrow.VISIBLE_DELETE}', '', '', ''); if ('{catrow.VISIBLE_EDIT}' == 'block') { duplicateForm(document.fromForm.pages, document.forms['form_adminCatEdit_' + '{catrow.CAT_ID}'].cat_url_sel, '{catrow.PAGE_NAV}'); } <!-- BEGIN menurow --> menuCats['adminMenuEdit_{catrow.menurow.MENU_ID}'] = new menuCat('{catrow.menurow.MENU_ID}', 'adminMenuEdit_', '{catrow.menurow.VISIBLE_EDIT}', '{catrow.menurow.PAGE_NAV}', '{catrow.menurow.BLOCK_NAV}', '{catrow.menurow.FUNCTION_NAV}'); menuCats['adminMenuDelete_{catrow.menurow.MENU_ID}'] = new menuCat('{catrow.menurow.MENU_ID}', 'adminMenuDelete_', '{catrow.menurow.VISIBLE_DELETE}', '', '', ''); if ('{catrow.menurow.VISIBLE_EDIT}' == 'block') { duplicateForm(document.fromForm.blocks, document.forms['form_adminMenuEdit_' + '{catrow.menurow.MENU_ID}'].block_nav, '{catrow.menurow.BLOCK_NAV}'); duplicateForm(document.fromForm.pages, document.forms['form_adminMenuEdit_' + '{catrow.menurow.MENU_ID}'].page_nav, '{catrow.menurow.PAGE_NAV}'); //duplicateForm(document.fromForm.functions, document.forms['form_adminMenuEdit_' + '{catrow.menurow.MENU_ID}'].function_nav, '{catrow.menurow.FUNCTION_NAV}'); } <!-- END menurow --> <!-- END catrow --> // --> </script> --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:52:56
|
Update of /cvsroot/mxbb/core/modules/mx_navmenu/templates/_core/images In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv11044/images Added Files: arrow_right.gif index.htm Log Message: Ok, massive update for 2.9.x. --- NEW FILE: arrow_right.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:52:42
|
Update of /cvsroot/mxbb/core/install/language/lang_english In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv11032 Added Files: lang_admin.php Log Message: Ok, massive update for 2.9.x. --- NEW FILE: lang_admin.php --- <?php /** * * @package mxBB Portal Core * @version $Id: lang_admin.php,v 1.1 2007/09/09 16:52:39 jonohlsson Exp $ * @copyright (c) 2002-2006 mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * @link http://www.mxbb.net * */ // // Editor Settings: Please set Tabsize to 4 ;-) // // // The format of this file is: // // ---> $lang['message'] = 'text'; // // Specify your language character encoding... [optional] // // setlocale(LC_ALL, 'en'); // // Install Process // $lang['Portal_paths'] = 'Portal Paths'; $lang['ReadOnly'] = ' (read only)'; $lang['Welcome_install'] = 'Welcome to the mxBB Portal Installation Wizard'; $lang['Install_Instruction'] = 'Please fill out the details requested below. This installation program will create your personalized config.php (in the Portal root directory) and the Portal database with default settings. Once this is done, you\'ll see a report of all the steps taken. You should then login to your board with your administrator username and password and go to the Administration Control Panel to configure your portal with your own preferences. Thank you for choosing mxBB Portal.'; $lang['Install_Instruction_mxBB'] = 'Your admin account will be created: username (admin), password (admin). Modify this password asap!'; $lang['Install_Instruction_phpBB'] = 'Please note, even if you plan to use mxBB with phpBB, this installation does not modify your phpBB database in any way.'; $lang['Upgrade_Instruction'] = 'mxBB Portal is already installed. Please make backups of your database now !<br /><br />The next step will modify the structure of your database (please note mxBB Portal does not modify your phpBB database in any way). If for whatever reason this upgrade procedure fails, there would be no other way to return to your current state. Please make backups of your database BEFORE proceeding !<br /><br />Once done, click the button below to start the upgrade procedure.'; $lang['Install_moreinfo'] = '%sRelease Notes%s | %sWelcome Pack%s | %sOnline FAQ%s | %sSupport Forums%s | %sTerms Of Use%s'; $lang['Install_settings'] = 'Installation Settings'; $lang['Choose_lang_explain'] = 'Please use the form below to select the language you wish to use throughout the installation process.'; $lang['Choose_lang'] = 'Choose Language'; $lang['Phpbb_only'] = '[phpBBX]'; $lang['Mxbb_only'] = '[Internal]'; $lang['Language'] = 'Language'; $lang['Session_backend'] = 'Users & Sessions'; $lang['Session_backend_explain'] = 'The mxBB-IWizard has detected installed phpBB boards on this server. <br />Select here if you plan to use mxBB with phpBB users and sessions. <br />If you are unsure (or if you want to install mxBB without phpBB), select \'Internal\' setup. <br />You may update this setting later in the mxBB adminCP'; $lang['Phpbb_path'] = 'phpBB relative path'; $lang['Phpbb_path_explain'] = 'Relative path to phpBB, ex. phpBB/ or ../phpBB/<br />Note the slashes "/", they are important!'; $lang['Phpbb_url'] = 'Full phpBB URL'; $lang['Phpbb_url_explain'] = 'Full phpBB URL, ex. <br />http://www.example.com/phpBB/'; $lang['Portal_url'] = 'Full Portal URL'; $lang['Portal_url_explain'] = 'Full Portal URL, ex. <br />http://www.example.com/'; $lang['Database_settings'] = 'Database Settings'; $lang['dbms'] = 'Database Type'; $lang['DB_Host'] = 'Database Server Hostname/DSN'; $lang['DB_Name'] = 'Your Database Name'; $lang['DB_Username'] = 'Database Username'; $lang['DB_Password'] = 'Database Password'; $lang['Table_Prefix'] = 'phpBB Prefix in DB'; $lang['MX_Table_Prefix'] = 'mxBB Portal Prefix in DB'; $lang['Start_Install'] = 'Start mxBB Installation'; $lang['Start_Upgrade'] = 'Yes, I have already done a backup and wish to upgrade my mxBB Portal now.'; $lang['Portal_intalled'] = 'mxBB Portal has been installed !'; $lang['Portal_upgraded'] = 'mxBB Portal has been upgraded !'; $lang['Unwriteable_config'] = 'Your mxBB config file (config.php) is currently un-writeable.<br /><br />A copy of the config file will be downloaded to you when you click the button below. You should upload this file to your mxBB root directory: %s <br /><br />Once this is done, please %sREFRESH%s this window to proceed with the next installation step.<br /><br />Thank you for choosing mxBB Portal.<br />'; $lang['Send_file'] = 'Just send the file to me and I\'ll FTP it manually'; $lang['phpBB_nfnd_retry'] = 'Sorry, but we could not find your phpBB installation. Please press the %sBACK%s button of your browser and retry.'; $lang['MissingVariables'] = 'Sorry, but you need to fill out all required fields. Please press the %sBACK%s button of your browser and retry.'; $lang['Installation_error'] = 'An error has occurred during the installation'; $lang['Debug_Information'] = 'DEBUG INFORMATION'; $lang['Install_phpbb_not_found'] = 'Sorry, we could not find any phpBB board installed on this server.<br />Please install phpBB BEFORE installing mxBB Portal.<br />\n<br />\n'; $lang['Install_phpbb_db_failed'] = 'Sorry, we could not connect to the phpBB database.<br />Please check that your phpBB is correctly installed and up and running BEFORE installing mxBB Portal.<br />\n<br />\n'; $lang['Install_phpbb_unsupported'] = 'Unfortunately, the phpBB board installed on this server is not supported by mxBB Portal.<br />Please check the release notes for installation requirements.<br />\n<br />\n'; $lang['Install_noscript_warning'] = 'Sorry, this installation requires a JavaScript enabled browser. It might not work on your browser.'; $lang['Upgrade_are_you_sure'] = 'This upgrade procedure will make modifications to your database. Are you sure you wish to proceed?'; $lang['Writing_config'] = 'Writing config.php file'; $lang['Processing_schema'] = 'Processing SQL Schema \'%s\''; $lang['Portal_intalling'] = 'Installing mxBB Portal version %s'; $lang['Portal_upgrading'] = 'Upgrading mxBB Portal version %s'; $lang['Install_warning'] = 'There was 1 warning updating the database'; $lang['Install_warnings'] = 'There were %d warnings updating the database'; $lang['Subscribe_mxBB_News_now'] = 'We recommend that you subscribe to the %smxBB-News Mailing List%s to receive information about important news and release announcements.<br /> <br />%sSubscribe to mxBB-News, now!%s'; $lang['Portal_install_done'][0] = 'At this point your basic installation is complete.'; $lang['Portal_install_done'][1] = 'Please delete the /install/ and /contrib/ folders BEFORE proceeding!!!'; $lang['Portal_install_done'][2] = 'Remember to make backups as often as possible ;-)'; $lang['Portal_install_done'][3] = 'Press the button below and use your Administrator username and password to login to the system.'; $lang['Portal_install_done'][4] = 'Enter the Admin Control Panel - Management, and upgrade ALL modules - one by one!'; $lang['Portal_install_done'][5] = 'Please be sure to check the Portal Configurations and make any required changes.'; $lang['Go_to_admincp'] = 'Now visit the Admin Control Panel and upgrade your modules'; $lang['Thanks_for_choosing'] = 'Thank you for choosing mxBB Portal!'; $lang['Critical_Error'] = 'CRITICAL ERROR'; $lang['Error_loading_config'] = 'Sorry, could not load mxBB Portal config.php'; $lang['Error_database_down'] = 'Sorry, could not connect to the database.'; // // That's all Folks! // ------------------------------------------------- ?> |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:52:29
|
Update of /cvsroot/mxbb/core/includes/shared/phpbb3/includes In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10992 Added Files: bbcode.php functions.php functions_posting.php Log Message: Ok, massive update for 2.9.x. --- NEW FILE: functions.php --- <?php /** * * @package phpBB3 * @version $Id: functions.php,v 1.1 2007/09/09 16:52:25 jonohlsson Exp $ * @copyright (c) 2005 phpBB Group * @license http://opensource.org/licenses/gpl-license.php GNU Public License * */ // // Common global functions // Fixes for mxBB: // $config -> $board_config // $cache -> $mx_cache // // // Class phpBB2 - function container [...4379 lines suppressed...] for ($i = 0; $i < $len; ++$i) { $bin .= str_pad(decbin(ord($this->data[$i])), 8, '0', STR_PAD_LEFT); } return $bin; } function get_all_set() { return array_keys(array_filter(str_split($this->get_bin()))); } function merge($bitfield) { $this->data = $this->data | $bitfield->get_blob(); } } ?> --- NEW FILE: functions_posting.php --- <?php /** * * @package phpBB3 * @version $Id: functions_posting.php,v 1.1 2007/09/09 16:52:25 jonohlsson Exp $ * @copyright (c) 2005 phpBB Group * @license http://opensource.org/licenses/gpl-license.php GNU Public License * */ /** * Fill smiley templates (or just the variables) with smilies, either in a window or inline */ function generate_smilies($mode, $forum_id) { global $auth, $db, $user, $config, $template; global $phpEx, $phpbb_root_path; if ($mode == 'window') [...2366 lines suppressed...] $params .= '&t=' . $data['topic_id']; if ($mode != 'post') { $params .= '&p=' . $data['post_id']; $add_anchor = '#p' . $data['post_id']; } } else if ($mode != 'post' && $post_mode != 'edit_first_post' && $post_mode != 'edit_topic') { $params .= '&t=' . $data['topic_id']; } $url = (!$params) ? "{$phpbb_root_path}viewforum.$phpEx" : "{$phpbb_root_path}viewtopic.$phpEx"; $url = append_sid($url, 'f=' . $data['forum_id'] . $params) . $add_anchor; return $url; } ?> --- NEW FILE: bbcode.php --- <?php /** * * @package phpBB3 * @version $Id: bbcode.php,v 1.1 2007/09/09 16:52:24 jonohlsson Exp $ * @copyright (c) 2005 phpBB Group * @license http://opensource.org/licenses/gpl-license.php GNU Public License * */ /** * BBCode class * @package phpBB3 */ class bbcode { var $bbcode_uid = ''; var $bbcode_bitfield = ''; var $bbcode_cache = array(); var $bbcode_template = array(); var $bbcodes = array(); var $template_bitfield; var $template_filename = ''; /** * Constructor * Init bbcode cache entries if bitfield is specified */ function bbcode($bitfield = '') { if ($bitfield) { $this->bbcode_bitfield = $bitfield; $this->bbcode_cache_init(); } } /** * Second pass bbcodes */ function bbcode_second_pass(&$message, $bbcode_uid = '', $bbcode_bitfield = false) { if ($bbcode_uid) { $this->bbcode_uid = $bbcode_uid; } if ($bbcode_bitfield !== false) { $this->bbcode_bitfield = $bbcode_bitfield; // Init those added with a new bbcode_bitfield (already stored codes will not get parsed again) $this->bbcode_cache_init(); } if (!$this->bbcode_bitfield) { // Remove the uid from tags that have not been transformed into HTML if ($this->bbcode_uid) { $message = str_replace(':' . $this->bbcode_uid, '', $message); } return; } $str = array('search' => array(), 'replace' => array()); $preg = array('search' => array(), 'replace' => array()); $bitfield = new bitfield($this->bbcode_bitfield); $bbcodes_set = $bitfield->get_all_set(); foreach ($bbcodes_set as $bbcode_id) { if (!empty($this->bbcode_cache[$bbcode_id])) { foreach ($this->bbcode_cache[$bbcode_id] as $type => $array) { foreach ($array as $search => $replace) { ${$type}['search'][] = str_replace('$uid', $this->bbcode_uid, $search); ${$type}['replace'][] = $replace; } if (sizeof($str['search'])) { $message = str_replace($str['search'], $str['replace'], $message); $str = array('search' => array(), 'replace' => array()); } if (sizeof($preg['search'])) { $message = preg_replace($preg['search'], $preg['replace'], $message); $preg = array('search' => array(), 'replace' => array()); } } } } // Remove the uid from tags that have not been transformed into HTML $message = str_replace(':' . $this->bbcode_uid, '', $message); } /** * Init bbcode cache * * requires: $this->bbcode_bitfield * sets: $this->bbcode_cache with bbcode templates needed for bbcode_bitfield */ function bbcode_cache_init() { global $user, $phpbb_root_path; if (empty($this->template_filename)) { $this->template_bitfield = new bitfield($user->theme['bbcode_bitfield']); $this->template_filename = $phpbb_root_path . 'styles/' . $user->theme['template_path'] . '/template/bbcode.html'; if (!@file_exists($this->template_filename)) { trigger_error('The file ' . $this->template_filename . ' is missing.', E_USER_ERROR); } } $bbcode_ids = $rowset = $sql = array(); $bitfield = new bitfield($this->bbcode_bitfield); $bbcodes_set = $bitfield->get_all_set(); foreach ($bbcodes_set as $bbcode_id) { if (isset($this->bbcode_cache[$bbcode_id])) { // do not try to re-cache it if it's already in continue; } $bbcode_ids[] = $bbcode_id; if ($bbcode_id > NUM_CORE_BBCODES) { $sql[] = $bbcode_id; } } if (sizeof($sql)) { global $db; $sql = 'SELECT * FROM ' . BBCODES_TABLE . ' WHERE ' . $db->sql_in_set('bbcode_id', $sql); $result = $db->sql_query($sql, 3600); while ($row = $db->sql_fetchrow($result)) { // To circumvent replacing newlines with <br /> for the generated html, // we just remove newlines here. We do not do this within the admin panel to // let the admin lay out his html code nicely $row['bbcode_tpl'] = str_replace(array("\n", "\r"), '', $row['bbcode_tpl']); $row['second_pass_replace'] = str_replace(array("\n", "\r"), '', $row['second_pass_replace']); $rowset[$row['bbcode_id']] = $row; } $db->sql_freeresult($result); } foreach ($bbcode_ids as $bbcode_id) { switch ($bbcode_id) { case 0: $this->bbcode_cache[$bbcode_id] = array( 'str' => array( '[/quote:$uid]' => $this->bbcode_tpl('quote_close', $bbcode_id) ), 'preg' => array( '#\[quote(?:="(.*?)")?:$uid\]((?!\[quote(?:=".*?")?:$uid\]).)?#ise' => "\$this->bbcode_second_pass_quote('\$1', '\$2')" ) ); break; case 1: $this->bbcode_cache[$bbcode_id] = array( 'str' => array( '[b:$uid]' => $this->bbcode_tpl('b_open', $bbcode_id), '[/b:$uid]' => $this->bbcode_tpl('b_close', $bbcode_id), ) ); break; case 2: $this->bbcode_cache[$bbcode_id] = array( 'str' => array( '[i:$uid]' => $this->bbcode_tpl('i_open', $bbcode_id), '[/i:$uid]' => $this->bbcode_tpl('i_close', $bbcode_id), ) ); break; case 3: $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#\[url:$uid\]((.*?))\[/url:$uid\]#s' => $this->bbcode_tpl('url', $bbcode_id), '#\[url=([^\[]+?):$uid\](.*?)\[/url:$uid\]#s' => $this->bbcode_tpl('url', $bbcode_id), ) ); break; case 4: if ($user->optionget('viewimg')) { $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#\[img:$uid\](.*?)\[/img:$uid\]#s' => $this->bbcode_tpl('img', $bbcode_id), ) ); } else { $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#\[img:$uid\](.*?)\[/img:$uid\]#s' => str_replace('$2', '[ img ]', $this->bbcode_tpl('url', $bbcode_id, true)), ) ); } break; case 5: $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#\[size=([\-\+]?\d+):$uid\](.*?)\[/size:$uid\]#s' => $this->bbcode_tpl('size', $bbcode_id), ) ); break; case 6: $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '!\[color=(#[0-9a-f]{6}|[a-z\-]+):$uid\](.*?)\[/color:$uid\]!is' => $this->bbcode_tpl('color', $bbcode_id), ) ); break; case 7: $this->bbcode_cache[$bbcode_id] = array( 'str' => array( '[u:$uid]' => $this->bbcode_tpl('u_open', $bbcode_id), '[/u:$uid]' => $this->bbcode_tpl('u_close', $bbcode_id), ) ); break; case 8: $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#\[code(?:=([a-z]+))?:$uid\](.*?)\[/code:$uid\]#ise' => "\$this->bbcode_second_pass_code('\$1', '\$2')", ) ); break; case 9: $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#(\[\/?(list|\*):[mou]?:?$uid\])[\n]{1}#' => "\$1", '#(\[list=([^\[]+):$uid\])[\n]{1}#' => "\$1", '#\[list=([^\[]+):$uid\]#e' => "\$this->bbcode_list('\$1')", ), 'str' => array( '[list:$uid]' => $this->bbcode_tpl('ulist_open_default', $bbcode_id), '[/list:u:$uid]' => $this->bbcode_tpl('ulist_close', $bbcode_id), '[/list:o:$uid]' => $this->bbcode_tpl('olist_close', $bbcode_id), '[*:$uid]' => $this->bbcode_tpl('listitem', $bbcode_id), '[/*:$uid]' => $this->bbcode_tpl('listitem_close', $bbcode_id), '[/*:m:$uid]' => $this->bbcode_tpl('listitem_close', $bbcode_id) ), ); break; case 10: $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#\[email:$uid\]((.*?))\[/email:$uid\]#is' => $this->bbcode_tpl('email', $bbcode_id), '#\[email=([^\[]+):$uid\](.*?)\[/email:$uid\]#is' => $this->bbcode_tpl('email', $bbcode_id) ) ); break; case 11: if ($user->optionget('viewflash')) { $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#\[flash=([0-9]+),([0-9]+):$uid\](.*?)\[/flash:$uid\]#' => $this->bbcode_tpl('flash', $bbcode_id), ) ); } else { $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#\[flash=([0-9]+),([0-9]+):$uid\](.*?)\[/flash:$uid\]#' => str_replace('$1', '$3', str_replace('$2', '[ flash ]', $this->bbcode_tpl('url', $bbcode_id, true))) ) ); } break; case 12: $this->bbcode_cache[$bbcode_id] = array( 'str' => array( '[/attachment:$uid]' => $this->bbcode_tpl('inline_attachment_close', $bbcode_id) ), 'preg' => array( '#\[attachment=([0-9]+):$uid\]#' => $this->bbcode_tpl('inline_attachment_open', $bbcode_id) ) ); break; default: if (isset($rowset[$bbcode_id])) { if ($this->template_bitfield->get($bbcode_id)) { // The bbcode requires a custom template to be loaded if (!$bbcode_tpl = $this->bbcode_tpl($rowset[$bbcode_id]['bbcode_tag'], $bbcode_id)) { // For some reason, the required template seems not to be available, use the default template $bbcode_tpl = (!empty($rowset[$bbcode_id]['second_pass_replace'])) ? $rowset[$bbcode_id]['second_pass_replace'] : $rowset[$bbcode_id]['bbcode_tpl']; } else { // In order to use templates with custom bbcodes we need // to replace all {VARS} to corresponding backreferences // Note that backreferences are numbered from bbcode_match if (preg_match_all('/\{(URL|EMAIL|TEXT|COLOR|NUMBER)[0-9]*\}/', $rowset[$bbcode_id]['bbcode_match'], $m)) { foreach ($m[0] as $i => $tok) { $bbcode_tpl = str_replace($tok, '$' . ($i + 1), $bbcode_tpl); } } } } else { // Default template $bbcode_tpl = (!empty($rowset[$bbcode_id]['second_pass_replace'])) ? $rowset[$bbcode_id]['second_pass_replace'] : $rowset[$bbcode_id]['bbcode_tpl']; } // Replace {L_*} lang strings $bbcode_tpl = preg_replace('/{L_([A-Z_]+)}/e', "(!empty(\$user->lang['\$1'])) ? \$user->lang['\$1'] : ucwords(strtolower(str_replace('_', ' ', '\$1')))", $bbcode_tpl); if (!empty($rowset[$bbcode_id]['second_pass_replace'])) { // The custom BBCode requires second-pass pattern replacements $this->bbcode_cache[$bbcode_id] = array( 'preg' => array($rowset[$bbcode_id]['second_pass_match'] => $bbcode_tpl) ); } else { $this->bbcode_cache[$bbcode_id] = array( 'str' => array($rowset[$bbcode_id]['second_pass_match'] => $bbcode_tpl) ); } } else { $this->bbcode_cache[$bbcode_id] = false; } break; } } } /** * Return bbcode template */ function bbcode_tpl($tpl_name, $bbcode_id = -1, $skip_bitfield_check = false) { static $bbcode_hardtpl = array(); if (empty($bbcode_hardtpl)) { global $user; $bbcode_hardtpl = array( 'b_open' => '<span style="font-weight: bold">', 'b_close' => '</span>', 'i_open' => '<span style="font-style: italic">', 'i_close' => '</span>', 'u_open' => '<span style="text-decoration: underline">', 'u_close' => '</span>', 'img' => '<img src="$1" alt="' . $user->lang['IMAGE'] . '" />', 'size' => '<span style="font-size: $1%; line-height: normal">$2</span>', 'color' => '<span style="color: $1">$2</span>', 'email' => '<a href="mailto:$1">$2</a>' ); } if ($bbcode_id != -1 && !$skip_bitfield_check && !$this->template_bitfield->get($bbcode_id)) { return (isset($bbcode_hardtpl[$tpl_name])) ? $bbcode_hardtpl[$tpl_name] : false; } if (empty($this->bbcode_template)) { if (($tpl = file_get_contents($this->template_filename)) === false) { trigger_error('Could not load bbcode template', E_USER_ERROR); } // replace \ with \\ and then ' with \'. $tpl = str_replace('\\', '\\\\', $tpl); $tpl = str_replace("'", "\'", $tpl); // strip newlines and indent $tpl = preg_replace("/\n[\n\r\s\t]*/", '', $tpl); // Turn template blocks into PHP assignment statements for the values of $bbcode_tpl.. $this->bbcode_template = array(); $matches = preg_match_all('#<!-- BEGIN (.*?) -->(.*?)<!-- END (?:.*?) -->#', $tpl, $match); for ($i = 0; $i < $matches; $i++) { if (empty($match[1][$i])) { continue; } $this->bbcode_template[$match[1][$i]] = $this->bbcode_tpl_replace($match[1][$i], $match[2][$i]); } } return (isset($this->bbcode_template[$tpl_name])) ? $this->bbcode_template[$tpl_name] : ((isset($bbcode_hardtpl[$tpl_name])) ? $bbcode_hardtpl[$tpl_name] : false); } /** * Return bbcode template replacement */ function bbcode_tpl_replace($tpl_name, $tpl) { global $user; static $replacements = array( 'quote_username_open' => array('{USERNAME}' => '$1'), 'color' => array('{COLOR}' => '$1', '{TEXT}' => '$2'), 'size' => array('{SIZE}' => '$1', '{TEXT}' => '$2'), 'img' => array('{URL}' => '$1'), 'flash' => array('{WIDTH}' => '$1', '{HEIGHT}' => '$2', '{URL}' => '$3'), 'url' => array('{URL}' => '$1', '{DESCRIPTION}' => '$2'), 'email' => array('{EMAIL}' => '$1', '{DESCRIPTION}' => '$2') ); $tpl = preg_replace('/{L_([A-Z_]+)}/e', "(!empty(\$user->lang['\$1'])) ? \$user->lang['\$1'] : ucwords(strtolower(str_replace('_', ' ', '\$1')))", $tpl); if (!empty($replacements[$tpl_name])) { $tpl = strtr($tpl, $replacements[$tpl_name]); } return trim($tpl); } /** * Second parse list bbcode */ function bbcode_list($type) { if ($type == '') { $tpl = 'ulist_open_default'; $type = 'default'; } else if ($type == 'i') { $tpl = 'olist_open'; $type = 'lower-roman'; } else if ($type == 'I') { $tpl = 'olist_open'; $type = 'upper-roman'; } else if (preg_match('#^(disc|circle|square)$#i', $type)) { $tpl = 'ulist_open'; $type = strtolower($type); } else if (preg_match('#^[a-z]$#', $type)) { $tpl = 'olist_open'; $type = 'lower-alpha'; } else if (preg_match('#[A-Z]#', $type)) { $tpl = 'olist_open'; $type = 'upper-alpha'; } else if (is_numeric($type)) { $tpl = 'olist_open'; $type = 'arabic-numbers'; } else { $tpl = 'olist_open'; $type = 'arabic-numbers'; } return str_replace('{LIST_TYPE}', $type, $this->bbcode_tpl($tpl)); } /** * Second parse quote tag */ function bbcode_second_pass_quote($username, $quote) { // when using the /e modifier, preg_replace slashes double-quotes but does not // seem to slash anything else $quote = str_replace('\"', '"', $quote); $username = str_replace('\"', '"', $username); // remove newline at the beginning if ($quote == "\n") { $quote = ''; } $quote = (($username) ? str_replace('$1', $username, $this->bbcode_tpl('quote_username_open')) : $this->bbcode_tpl('quote_open')) . $quote; return $quote; } /** * Second parse code tag */ function bbcode_second_pass_code($type, $code) { // when using the /e modifier, preg_replace slashes double-quotes but does not // seem to slash anything else $code = str_replace('\"', '"', $code); switch ($type) { case 'php': // Not the english way, but valid because of hardcoded syntax highlighting if (strpos($code, '<span class="syntaxdefault"><br /></span>') === 0) { $code = substr($code, 41); } // no break; default: $code = str_replace("\t", ' ', $code); $code = str_replace(' ', ' ', $code); $code = str_replace(' ', ' ', $code); // remove newline at the beginning if (!empty($code) && $code[0] == "\n") { $code = substr($code, 1); } break; } $code = $this->bbcode_tpl('code_open') . $code . $this->bbcode_tpl('code_close'); return $code; } } ?> |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:52:15
|
Update of /cvsroot/mxbb/core/includes/shared/phpbb2/language/lang_english In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10765 Added Files: lang_admin.php lang_main.php Log Message: Ok, massive update for 2.9.x. --- NEW FILE: lang_main.php --- <?php /*************************************************************************** * lang_main.php [English] * ------------------- * begin : Sat Dec 16 2000 * copyright : (C) 2001 The phpBB Group * email : su...@ph... * * $Id: lang_main.php,v 1.1 2007/09/09 16:52:07 jonohlsson Exp $ * ****************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * ***************************************************************************/ // // CONTRIBUTORS: // Add your details here if wanted, e.g. Name, username, email address, website // 2002-08-27 Philip M. White - fixed many grammar problems // // // The format of this file is ---> $lang['message'] = 'text'; // // You should also try to set a locale and a character encoding (plus direction). The encoding and direction // will be sent to the template. The locale may or may not work, it's dependent on OS support and the syntax // varies ... give it your best guess! // $lang['ENCODING'] = 'iso-8859-1'; $lang['DIRECTION'] = 'ltr'; $lang['LEFT'] = 'left'; $lang['RIGHT'] = 'right'; $lang['DATE_FORMAT'] = 'd M Y'; // This should be changed to the default date format for your language, php date() format // This is optional, if you would like a _SHORT_ message output // along with our copyright message indicating you are the translator // please add it here. // $lang['TRANSLATION'] = ''; // // Common, these terms are used // extensively on several pages // $lang['Forum'] = 'Forum'; $lang['Category'] = 'Category'; $lang['Topic'] = 'Topic'; $lang['Topics'] = 'Topics'; $lang['Replies'] = 'Replies'; $lang['Views'] = 'Views'; $lang['Post'] = 'Post'; $lang['Posts'] = 'Posts'; $lang['Posted'] = 'Posted'; $lang['Username'] = 'Username'; $lang['Password'] = 'Password'; $lang['Email'] = 'Email'; $lang['Poster'] = 'Poster'; $lang['Author'] = 'Author'; $lang['Time'] = 'Time'; $lang['Hours'] = 'Hours'; $lang['Message'] = 'Message'; $lang['1_Day'] = '1 Day'; $lang['7_Days'] = '7 Days'; $lang['2_Weeks'] = '2 Weeks'; $lang['1_Month'] = '1 Month'; $lang['3_Months'] = '3 Months'; $lang['6_Months'] = '6 Months'; $lang['1_Year'] = '1 Year'; $lang['Go'] = 'Go'; $lang['Jump_to'] = 'Jump to'; $lang['Submit'] = 'Submit'; $lang['Reset'] = 'Reset'; $lang['Cancel'] = 'Cancel'; $lang['Preview'] = 'Preview'; $lang['Confirm'] = 'Confirm'; $lang['Spellcheck'] = 'Spellcheck'; $lang['Yes'] = 'Yes'; $lang['No'] = 'No'; $lang['Enabled'] = 'Enabled'; $lang['Disabled'] = 'Disabled'; $lang['Error'] = 'Error'; $lang['Next'] = 'Next'; $lang['Previous'] = 'Previous'; $lang['Goto_page'] = 'Goto page'; $lang['Joined'] = 'Joined'; $lang['IP_Address'] = 'IP Address'; $lang['Select_forum'] = 'Select a forum'; $lang['View_latest_post'] = 'View latest post'; $lang['View_newest_post'] = 'View newest post'; $lang['Page_of'] = 'Page <b>%d</b> of <b>%d</b>'; // Replaces with: Page 1 of 2 for example $lang['ICQ'] = 'ICQ Number'; $lang['AIM'] = 'AIM Address'; $lang['MSNM'] = 'MSN Messenger'; $lang['YIM'] = 'Yahoo Messenger'; $lang['Forum_Index'] = '%s Forum Index'; // eg. sitename Forum Index, %s can be removed if you prefer $lang['Post_new_topic'] = 'Post new topic'; $lang['Reply_to_topic'] = 'Reply to topic'; $lang['Reply_with_quote'] = 'Reply with quote'; $lang['Click_return_topic'] = 'Click %sHere%s to return to the topic'; // %s's here are for uris, do not remove! $lang['Click_return_login'] = 'Click %sHere%s to try again'; $lang['Click_return_forum'] = 'Click %sHere%s to return to the forum'; $lang['Click_view_message'] = 'Click %sHere%s to view your message'; $lang['Click_return_modcp'] = 'Click %sHere%s to return to the Moderator Control Panel'; $lang['Click_return_group'] = 'Click %sHere%s to return to group information'; $lang['Admin_panel'] = 'Go to Administration Panel'; $lang['Board_disable'] = 'Sorry, but this board is currently unavailable. Please try again later.'; // // Global Header strings // $lang['Registered_users'] = 'Registered Users:'; $lang['Browsing_forum'] = 'Users browsing this forum:'; $lang['Online_users_zero_total'] = 'In total there are <b>0</b> users online :: '; $lang['Online_users_total'] = 'In total there are <b>%d</b> users online :: '; $lang['Online_user_total'] = 'In total there is <b>%d</b> user online :: '; $lang['Reg_users_zero_total'] = '0 Registered, '; $lang['Reg_users_total'] = '%d Registered, '; $lang['Reg_user_total'] = '%d Registered, '; $lang['Hidden_users_zero_total'] = '0 Hidden and '; $lang['Hidden_user_total'] = '%d Hidden and '; $lang['Hidden_users_total'] = '%d Hidden and '; $lang['Guest_users_zero_total'] = '0 Guests'; $lang['Guest_users_total'] = '%d Guests'; $lang['Guest_user_total'] = '%d Guest'; $lang['Record_online_users'] = 'Most users ever online was <b>%s</b> on %s'; // first %s = number of users, second %s is the date. $lang['Admin_online_color'] = '%sAdministrator%s'; $lang['Mod_online_color'] = '%sModerator%s'; $lang['You_last_visit'] = 'You last visited on %s'; // %s replaced by date/time $lang['Current_time'] = 'The time now is %s'; // %s replaced by time $lang['Search_new'] = 'View posts since last visit'; $lang['Search_your_posts'] = 'View your posts'; $lang['Search_unanswered'] = 'View unanswered posts'; $lang['Register'] = 'Register'; $lang['Profile'] = 'Profile'; $lang['Edit_profile'] = 'Edit your profile'; $lang['Search'] = 'Search'; $lang['Memberlist'] = 'Memberlist'; $lang['FAQ'] = 'FAQ'; $lang['BBCode_guide'] = 'BBCode Guide'; $lang['Usergroups'] = 'Usergroups'; $lang['Last_Post'] = 'Last Post'; $lang['Moderator'] = 'Moderator'; $lang['Moderators'] = 'Moderators'; // // Stats block text // $lang['Posted_articles_zero_total'] = 'Our users have posted a total of <b>0</b> articles'; // Number of posts $lang['Posted_articles_total'] = 'Our users have posted a total of <b>%d</b> articles'; // Number of posts $lang['Posted_article_total'] = 'Our users have posted a total of <b>%d</b> article'; // Number of posts $lang['Registered_users_zero_total'] = 'We have <b>0</b> registered users'; // # registered users $lang['Registered_users_total'] = 'We have <b>%d</b> registered users'; // # registered users $lang['Registered_user_total'] = 'We have <b>%d</b> registered user'; // # registered users $lang['Newest_user'] = 'The newest registered user is <b>%s%s%s</b>'; // a href, username, /a $lang['No_new_posts_last_visit'] = 'No new posts since your last visit'; $lang['No_new_posts'] = 'No new posts'; $lang['New_posts'] = 'New posts'; $lang['New_post'] = 'New post'; $lang['No_new_posts_hot'] = 'No new posts [ Popular ]'; $lang['New_posts_hot'] = 'New posts [ Popular ]'; $lang['No_new_posts_locked'] = 'No new posts [ Locked ]'; $lang['New_posts_locked'] = 'New posts [ Locked ]'; $lang['Forum_is_locked'] = 'Forum is locked'; // // Login // $lang['Enter_password'] = 'Please enter your username and password to log in.'; $lang['Login'] = 'Log in'; $lang['Logout'] = 'Log out'; $lang['Forgotten_password'] = 'I forgot my password'; $lang['Log_me_in'] = 'Log me on automatically each visit'; $lang['Error_login'] = 'You have specified an incorrect or inactive username, or an invalid password.'; // // Index page // $lang['Index'] = 'Index'; $lang['No_Posts'] = 'No Posts'; $lang['No_forums'] = 'This board has no forums'; $lang['Private_Message'] = 'Private Message'; $lang['Private_Messages'] = 'Private Messages'; $lang['Who_is_Online'] = 'Who is Online'; $lang['Mark_all_forums'] = 'Mark all forums read'; $lang['Forums_marked_read'] = 'All forums have been marked read'; // // Viewforum // $lang['View_forum'] = 'View Forum'; $lang['Forum_not_exist'] = 'The forum you selected does not exist.'; $lang['Reached_on_error'] = 'You have reached this page in error.'; $lang['Display_topics'] = 'Display topics from previous'; $lang['All_Topics'] = 'All Topics'; $lang['Topic_Announcement'] = '<b>Announcement:</b>'; $lang['Topic_Sticky'] = '<b>Sticky:</b>'; $lang['Topic_Moved'] = '<b>Moved:</b>'; $lang['Topic_Poll'] = '<b>[ Poll ]</b>'; $lang['Mark_all_topics'] = 'Mark all topics read'; $lang['Topics_marked_read'] = 'The topics for this forum have now been marked read'; $lang['Rules_post_can'] = 'You <b>can</b> post new topics in this forum'; $lang['Rules_post_cannot'] = 'You <b>cannot</b> post new topics in this forum'; $lang['Rules_reply_can'] = 'You <b>can</b> reply to topics in this forum'; $lang['Rules_reply_cannot'] = 'You <b>cannot</b> reply to topics in this forum'; $lang['Rules_edit_can'] = 'You <b>can</b> edit your posts in this forum'; $lang['Rules_edit_cannot'] = 'You <b>cannot</b> edit your posts in this forum'; $lang['Rules_delete_can'] = 'You <b>can</b> delete your posts in this forum'; $lang['Rules_delete_cannot'] = 'You <b>cannot</b> delete your posts in this forum'; $lang['Rules_vote_can'] = 'You <b>can</b> vote in polls in this forum'; $lang['Rules_vote_cannot'] = 'You <b>cannot</b> vote in polls in this forum'; $lang['Rules_moderate'] = 'You <b>can</b> %smoderate this forum%s'; // %s replaced by a href links, do not remove! $lang['No_topics_post_one'] = 'There are no posts in this forum.<br />Click on the <b>Post New Topic</b> link on this page to post one.'; // // Viewtopic // $lang['View_topic'] = 'View topic'; $lang['Guest'] = 'Guest'; $lang['Post_subject'] = 'Post subject'; $lang['View_next_topic'] = 'View next topic'; $lang['View_previous_topic'] = 'View previous topic'; $lang['Submit_vote'] = 'Submit Vote'; $lang['View_results'] = 'View Results'; $lang['No_newer_topics'] = 'There are no newer topics in this forum'; $lang['No_older_topics'] = 'There are no older topics in this forum'; $lang['Topic_post_not_exist'] = 'The topic or post you requested does not exist'; $lang['No_posts_topic'] = 'No posts exist for this topic'; $lang['Display_posts'] = 'Display posts from previous'; $lang['All_Posts'] = 'All Posts'; $lang['Newest_First'] = 'Newest First'; $lang['Oldest_First'] = 'Oldest First'; $lang['Back_to_top'] = 'Back to top'; $lang['Read_profile'] = 'View user\'s profile'; $lang['Visit_website'] = 'Visit poster\'s website'; $lang['ICQ_status'] = 'ICQ Status'; $lang['Edit_delete_post'] = 'Edit/Delete this post'; $lang['View_IP'] = 'View IP address of poster'; $lang['Delete_post'] = 'Delete this post'; $lang['wrote'] = 'wrote'; // proceeds the username and is followed by the quoted text $lang['Quote'] = 'Quote'; // comes before bbcode quote output. $lang['Code'] = 'Code'; // comes before bbcode code output. $lang['Edited_time_total'] = 'Last edited by %s on %s; edited %d time in total'; // Last edited by me on 12 Oct 2001; edited 1 time in total $lang['Edited_times_total'] = 'Last edited by %s on %s; edited %d times in total'; // Last edited by me on 12 Oct 2001; edited 2 times in total $lang['Lock_topic'] = 'Lock this topic'; $lang['Unlock_topic'] = 'Unlock this topic'; $lang['Move_topic'] = 'Move this topic'; $lang['Delete_topic'] = 'Delete this topic'; $lang['Split_topic'] = 'Split this topic'; $lang['Stop_watching_topic'] = 'Stop watching this topic'; $lang['Start_watching_topic'] = 'Watch this topic for replies'; $lang['No_longer_watching'] = 'You are no longer watching this topic'; $lang['You_are_watching'] = 'You are now watching this topic'; $lang['Total_votes'] = 'Total Votes'; // // Posting/Replying (Not private messaging!) // $lang['Message_body'] = 'Message body'; $lang['Topic_review'] = 'Topic review'; $lang['No_post_mode'] = 'No post mode specified'; // If posting.php is called without a mode (newtopic/reply/delete/etc, shouldn't be shown normaly) $lang['Post_a_new_topic'] = 'Post a new topic'; $lang['Post_a_reply'] = 'Post a reply'; $lang['Post_topic_as'] = 'Post topic as'; $lang['Edit_Post'] = 'Edit post'; $lang['Options'] = 'Options'; $lang['Post_Announcement'] = 'Announcement'; $lang['Post_Sticky'] = 'Sticky'; $lang['Post_Normal'] = 'Normal'; $lang['Confirm_delete'] = 'Are you sure you want to delete this post?'; $lang['Confirm_delete_poll'] = 'Are you sure you want to delete this poll?'; $lang['Flood_Error'] = 'You cannot make another post so soon after your last; please try again in a short while.'; $lang['Empty_subject'] = 'You must specify a subject when posting a new topic.'; $lang['Empty_message'] = 'You must enter a message when posting.'; $lang['Forum_locked'] = 'This forum is locked: you cannot post, reply to, or edit topics.'; $lang['Topic_locked'] = 'This topic is locked: you cannot edit posts or make replies.'; $lang['No_post_id'] = 'You must select a post to edit'; $lang['No_topic_id'] = 'You must select a topic to reply to'; $lang['No_valid_mode'] = 'You can only post, reply, edit, or quote messages. Please return and try again.'; $lang['No_such_post'] = 'There is no such post. Please return and try again.'; $lang['Edit_own_posts'] = 'Sorry, but you can only edit your own posts.'; $lang['Delete_own_posts'] = 'Sorry, but you can only delete your own posts.'; $lang['Cannot_delete_replied'] = 'Sorry, but you may not delete posts that have been replied to.'; $lang['Cannot_delete_poll'] = 'Sorry, but you cannot delete an active poll.'; $lang['Empty_poll_title'] = 'You must enter a title for your poll.'; $lang['To_few_poll_options'] = 'You must enter at least two poll options.'; $lang['To_many_poll_options'] = 'You have tried to enter too many poll options.'; $lang['Post_has_no_poll'] = 'This post has no poll.'; $lang['Already_voted'] = 'You have already voted in this poll.'; $lang['No_vote_option'] = 'You must specify an option when voting.'; $lang['Add_poll'] = 'Add a Poll'; $lang['Add_poll_explain'] = 'If you do not want to add a poll to your topic, leave the fields blank.'; $lang['Poll_question'] = 'Poll question'; $lang['Poll_option'] = 'Poll option'; $lang['Add_option'] = 'Add option'; $lang['Update'] = 'Update'; $lang['Delete'] = 'Delete'; $lang['Poll_for'] = 'Run poll for'; $lang['Days'] = 'Days'; // This is used for the Run poll for ... Days + in admin_forums for pruning $lang['Poll_for_explain'] = '[ Enter 0 or leave blank for a never-ending poll ]'; $lang['Delete_poll'] = 'Delete Poll'; $lang['Disable_HTML_post'] = 'Disable HTML in this post'; $lang['Disable_BBCode_post'] = 'Disable BBCode in this post'; $lang['Disable_Smilies_post'] = 'Disable Smilies in this post'; $lang['HTML_is_ON'] = 'HTML is <u>ON</u>'; $lang['HTML_is_OFF'] = 'HTML is <u>OFF</u>'; $lang['BBCode_is_ON'] = '%sBBCode%s is <u>ON</u>'; // %s are replaced with URI pointing to FAQ $lang['BBCode_is_OFF'] = '%sBBCode%s is <u>OFF</u>'; $lang['Smilies_are_ON'] = 'Smilies are <u>ON</u>'; $lang['Smilies_are_OFF'] = 'Smilies are <u>OFF</u>'; $lang['Attach_signature'] = 'Attach signature (signatures can be changed in profile)'; $lang['Notify'] = 'Notify me when a reply is posted'; $lang['Stored'] = 'Your message has been entered successfully.'; $lang['Deleted'] = 'Your message has been deleted successfully.'; $lang['Poll_delete'] = 'Your poll has been deleted successfully.'; $lang['Vote_cast'] = 'Your vote has been cast.'; $lang['Topic_reply_notification'] = 'Topic Reply Notification'; $lang['bbcode_b_help'] = 'Bold text: [b]text[/b] (alt+b)'; $lang['bbcode_i_help'] = 'Italic text: [i]text[/i] (alt+i)'; $lang['bbcode_u_help'] = 'Underline text: [u]text[/u] (alt+u)'; $lang['bbcode_q_help'] = 'Quote text: [quote]text[/quote] (alt+q)'; $lang['bbcode_c_help'] = 'Code display: [code]code[/code] (alt+c)'; $lang['bbcode_l_help'] = 'List: [list]text[/list] (alt+l)'; $lang['bbcode_o_help'] = 'Ordered list: [list=]text[/list] (alt+o)'; $lang['bbcode_p_help'] = 'Insert image: [img]http://image_url[/img] (alt+p)'; $lang['bbcode_w_help'] = 'Insert URL: [url]http://url[/url] or [url=http://url]URL text[/url] (alt+w)'; $lang['bbcode_a_help'] = 'Close all open bbCode tags'; $lang['bbcode_s_help'] = 'Font color: [color=red]text[/color] Tip: you can also use color=#FF0000'; $lang['bbcode_f_help'] = 'Font size: [size=x-small]small text[/size]'; $lang['Emoticons'] = 'Emoticons'; $lang['More_emoticons'] = 'View more Emoticons'; $lang['Font_color'] = 'Font colour'; $lang['color_default'] = 'Default'; $lang['color_dark_red'] = 'Dark Red'; $lang['color_red'] = 'Red'; $lang['color_orange'] = 'Orange'; $lang['color_brown'] = 'Brown'; $lang['color_yellow'] = 'Yellow'; $lang['color_green'] = 'Green'; $lang['color_olive'] = 'Olive'; $lang['color_cyan'] = 'Cyan'; $lang['color_blue'] = 'Blue'; $lang['color_dark_blue'] = 'Dark Blue'; $lang['color_indigo'] = 'Indigo'; $lang['color_violet'] = 'Violet'; $lang['color_white'] = 'White'; $lang['color_black'] = 'Black'; $lang['Font_size'] = 'Font size'; $lang['font_tiny'] = 'Tiny'; $lang['font_small'] = 'Small'; $lang['font_normal'] = 'Normal'; $lang['font_large'] = 'Large'; $lang['font_huge'] = 'Huge'; $lang['Close_Tags'] = 'Close Tags'; $lang['Styles_tip'] = 'Tip: Styles can be applied quickly to selected text.'; // // Private Messaging // $lang['Private_Messaging'] = 'Private Messaging'; $lang['Login_check_pm'] = 'Log in to check your private messages'; $lang['New_pms'] = 'You have %d new messages'; // You have 2 new messages $lang['New_pm'] = 'You have %d new message'; // You have 1 new message $lang['No_new_pm'] = 'You have no new messages'; $lang['Unread_pms'] = 'You have %d unread messages'; $lang['Unread_pm'] = 'You have %d unread message'; $lang['No_unread_pm'] = 'You have no unread messages'; $lang['You_new_pm'] = 'A new private message is waiting for you in your Inbox'; $lang['You_new_pms'] = 'New private messages are waiting for you in your Inbox'; $lang['You_no_new_pm'] = 'No new private messages are waiting for you'; $lang['Unread_message'] = 'Unread message'; $lang['Read_message'] = 'Read message'; $lang['Read_pm'] = 'Read message'; $lang['Post_new_pm'] = 'Post message'; $lang['Post_reply_pm'] = 'Reply to message'; $lang['Post_quote_pm'] = 'Quote message'; $lang['Edit_pm'] = 'Edit message'; $lang['Inbox'] = 'Inbox'; $lang['Outbox'] = 'Outbox'; $lang['Savebox'] = 'Savebox'; $lang['Sentbox'] = 'Sentbox'; $lang['Flag'] = 'Flag'; $lang['Subject'] = 'Subject'; $lang['From'] = 'From'; $lang['To'] = 'To'; $lang['Date'] = 'Date'; $lang['Mark'] = 'Mark'; $lang['Sent'] = 'Sent'; $lang['Saved'] = 'Saved'; $lang['Delete_marked'] = 'Delete Marked'; $lang['Delete_all'] = 'Delete All'; $lang['Save_marked'] = 'Save Marked'; $lang['Save_message'] = 'Save Message'; $lang['Delete_message'] = 'Delete Message'; $lang['Display_messages'] = 'Display messages from previous'; // Followed by number of days/weeks/months $lang['All_Messages'] = 'All Messages'; $lang['No_messages_folder'] = 'You have no messages in this folder'; $lang['PM_disabled'] = 'Private messaging has been disabled on this board.'; $lang['Cannot_send_privmsg'] = 'Sorry, but the administrator has prevented you from sending private messages.'; $lang['No_to_user'] = 'You must specify a username to whom to send this message.'; $lang['No_such_user'] = 'Sorry, but no such user exists.'; $lang['Disable_HTML_pm'] = 'Disable HTML in this message'; $lang['Disable_BBCode_pm'] = 'Disable BBCode in this message'; $lang['Disable_Smilies_pm'] = 'Disable Smilies in this message'; $lang['Message_sent'] = 'Your message has been sent.'; $lang['Click_return_inbox'] = 'Click %sHere%s to return to your Inbox'; $lang['Click_return_index'] = 'Click %sHere%s to return to the Index'; $lang['Send_a_new_message'] = 'Send a new private message'; $lang['Send_a_reply'] = 'Reply to a private message'; $lang['Edit_message'] = 'Edit private message'; $lang['Notification_subject'] = 'New Private Message has arrived!'; $lang['Find_username'] = 'Find a username'; $lang['Find'] = 'Find'; $lang['No_match'] = 'No matches found.'; $lang['No_post_id'] = 'No post ID was specified'; $lang['No_such_folder'] = 'No such folder exists'; $lang['No_folder'] = 'No folder specified'; $lang['Mark_all'] = 'Mark all'; $lang['Unmark_all'] = 'Unmark all'; $lang['Confirm_delete_pm'] = 'Are you sure you want to delete this message?'; $lang['Confirm_delete_pms'] = 'Are you sure you want to delete these messages?'; $lang['Inbox_size'] = 'Your Inbox is %d%% full'; // eg. Your Inbox is 50% full $lang['Sentbox_size'] = 'Your Sentbox is %d%% full'; $lang['Savebox_size'] = 'Your Savebox is %d%% full'; $lang['Click_view_privmsg'] = 'Click %sHere%s to visit your Inbox'; // // Profiles/Registration // $lang['Viewing_user_profile'] = 'Viewing profile :: %s'; // %s is username $lang['About_user'] = 'All about %s'; // %s is username $lang['Preferences'] = 'Preferences'; $lang['Items_required'] = 'Items marked with a * are required unless stated otherwise.'; $lang['Registration_info'] = 'Registration Information'; $lang['Profile_info'] = 'Profile Information'; $lang['Profile_info_warn'] = 'This information will be publicly viewable'; $lang['Avatar_panel'] = 'Avatar control panel'; $lang['Avatar_gallery'] = 'Avatar gallery'; $lang['Website'] = 'Website'; $lang['Location'] = 'Location'; $lang['Contact'] = 'Contact'; $lang['Email_address'] = 'E-mail address'; $lang['Send_private_message'] = 'Send private message'; $lang['Hidden_email'] = '[ Hidden ]'; $lang['Interests'] = 'Interests'; $lang['Occupation'] = 'Occupation'; $lang['Poster_rank'] = 'Poster rank'; $lang['Total_posts'] = 'Total posts'; $lang['User_post_pct_stats'] = '%.2f%% of total'; // 1.25% of total $lang['User_post_day_stats'] = '%.2f posts per day'; // 1.5 posts per day $lang['Search_user_posts'] = 'Find all posts by %s'; // Find all posts by username $lang['No_user_id_specified'] = 'Sorry, but that user does not exist.'; $lang['Wrong_Profile'] = 'You cannot modify a profile that is not your own.'; $lang['Only_one_avatar'] = 'Only one type of avatar can be specified'; $lang['File_no_data'] = 'The file at the URL you gave contains no data'; $lang['No_connection_URL'] = 'A connection could not be made to the URL you gave'; $lang['Incomplete_URL'] = 'The URL you entered is incomplete'; $lang['Wrong_remote_avatar_format'] = 'The URL of the remote avatar is not valid'; $lang['No_send_account_inactive'] = 'Sorry, but your password cannot be retrieved because your account is currently inactive. Please contact the forum administrator for more information.'; $lang['Always_smile'] = 'Always enable Smilies'; $lang['Always_html'] = 'Always allow HTML'; $lang['Always_bbcode'] = 'Always allow BBCode'; $lang['Always_add_sig'] = 'Always attach my signature'; $lang['Always_notify'] = 'Always notify me of replies'; $lang['Always_notify_explain'] = 'Sends an e-mail when someone replies to a topic you have posted in. This can be changed whenever you post.'; $lang['Board_style'] = 'Board Style'; $lang['Board_lang'] = 'Board Language'; $lang['No_themes'] = 'No Themes In database'; $lang['Timezone'] = 'Timezone'; $lang['Date_format'] = 'Date format'; $lang['Date_format_explain'] = 'The syntax used is identical to the PHP <a href=\'http://www.php.net/date\' target=\'_other\'>date()</a> function.'; $lang['Signature'] = 'Signature'; $lang['Signature_explain'] = 'This is a block of text that can be added to posts you make. There is a %d character limit'; $lang['Public_view_email'] = 'Always show my e-mail address'; $lang['Current_password'] = 'Current password'; $lang['New_password'] = 'New password'; $lang['Confirm_password'] = 'Confirm password'; $lang['Confirm_password_explain'] = 'You must confirm your current password if you wish to change it or alter your e-mail address'; $lang['password_if_changed'] = 'You only need to supply a password if you want to change it'; $lang['password_confirm_if_changed'] = 'You only need to confirm your password if you changed it above'; $lang['Avatar'] = 'Avatar'; $lang['Avatar_explain'] = 'Displays a small graphic image below your details in posts. Only one image can be displayed at a time, its width can be no greater than %d pixels, the height no greater than %d pixels, and the file size no more than %d KB.'; $lang['Upload_Avatar_file'] = 'Upload Avatar from your machine'; $lang['Upload_Avatar_URL'] = 'Upload Avatar from a URL'; $lang['Upload_Avatar_URL_explain'] = 'Enter the URL of the location containing the Avatar image, it will be copied to this site.'; $lang['Pick_local_Avatar'] = 'Select Avatar from the gallery'; $lang['Link_remote_Avatar'] = 'Link to off-site Avatar'; $lang['Link_remote_Avatar_explain'] = 'Enter the URL of the location containing the Avatar image you wish to link to.'; $lang['Avatar_URL'] = 'URL of Avatar Image'; $lang['Select_from_gallery'] = 'Select Avatar from gallery'; $lang['View_avatar_gallery'] = 'Show gallery'; $lang['Select_avatar'] = 'Select avatar'; $lang['Return_profile'] = 'Cancel avatar'; $lang['Select_category'] = 'Select category'; $lang['Delete_Image'] = 'Delete Image'; $lang['Current_Image'] = 'Current Image'; $lang['Notify_on_privmsg'] = 'Notify on new Private Message'; $lang['Popup_on_privmsg'] = 'Pop up window on new Private Message'; $lang['Popup_on_privmsg_explain'] = 'Some templates may open a new window to inform you when new private messages arrive.'; $lang['Hide_user'] = 'Hide your online status'; $lang['Profile_updated'] = 'Your profile has been updated'; $lang['Profile_updated_inactive'] = 'Your profile has been updated. However, you have changed vital details, thus your account is now inactive. Check your e-mail to find out how to reactivate your account, or if admin activation is required, wait for the administrator to reactivate it.'; $lang['Password_mismatch'] = 'The passwords you entered did not match.'; $lang['Current_password_mismatch'] = 'The current password you supplied does not match that stored in the database.'; $lang['Password_long'] = 'Your password must be no more than 32 characters.'; $lang['Username_taken'] = 'Sorry, but this username has already been taken.'; $lang['Username_invalid'] = 'Sorry, but this username contains an invalid character such as \'.'; $lang['Username_disallowed'] = 'Sorry, but this username has been disallowed.'; $lang['Email_taken'] = 'Sorry, but that e-mail address is already registered to a user.'; $lang['Email_banned'] = 'Sorry, but this e-mail address has been banned.'; $lang['Email_invalid'] = 'Sorry, but this e-mail address is invalid.'; $lang['Signature_too_long'] = 'Your signature is too long.'; $lang['Fields_empty'] = 'You must fill in the required fields.'; $lang['Avatar_filetype'] = 'The avatar filetype must be .jpg, .gif or .png'; $lang['Avatar_filesize'] = 'The avatar image file size must be less than %d KB'; // The avatar image file size must be less than 6 KB $lang['Avatar_imagesize'] = 'The avatar must be less than %d pixels wide and %d pixels high'; $lang['Welcome_subject'] = 'Welcome to %s Forums'; // Welcome to my.com forums $lang['New_account_subject'] = 'New user account'; $lang['Account_activated_subject'] = 'Account Activated'; $lang['Account_added'] = 'Thank you for registering. Your account has been created. You may now log in with your username and password'; $lang['Account_inactive'] = 'Your account has been created. However, this forum requires account activation. An activation key has been sent to the e-mail address you provided. Please check your e-mail for further information'; $lang['Account_inactive_admin'] = 'Your account has been created. However, this forum requires account activation by the administrator. An e-mail has been sent to them and you will be informed when your account has been activated'; $lang['Account_active'] = 'Your account has now been activated. Thank you for registering'; $lang['Account_active_admin'] = 'The account has now been activated'; $lang['Reactivate'] = 'Reactivate your account!'; $lang['Already_activated'] = 'You have already activated your account'; $lang['COPPA'] = 'Your account has been created but has to be approved. Please check your e-mail for details.'; $lang['Registration'] = 'Registration Agreement Terms'; $lang['Reg_agreement'] = 'While the administrators and moderators of this forum will attempt to remove or edit any generally objectionable material as quickly as possible, it is impossible to review every message. Therefore you acknowledge that all posts made to these forums express the views and opinions of the author and not the administrators, moderators or webmaster (except for posts by these people) and hence will not be held liable.<br /><br />You agree not to post any abusive, obscene, vulgar, slanderous, hateful, threatening, sexually-oriented or any other material that may violate any applicable laws. Doing so may lead to you being immediately and permanently banned (and your service provider being informed). The IP address of all posts is recorded to aid in enforcing these conditions. You agree that the webmaster, administrator and moderators of this forum have the right to remove, edit, move or close any topic at any time should they see fit. As a user you agree to any information you have entered above being stored in a database. While this information will not be disclosed to any third party without your consent the webmaster, administrator and moderators cannot be held responsible for any hacking attempt that may lead to the data being compromised.<br /><br />This forum system uses cookies to store information on your local computer. These cookies do not contain any of the information you have entered above; they serve only to improve your viewing pleasure. The e-mail address is used only for confirming your registration details and password (and for sending new passwords should you forget your current one).<br /><br />By clicking Register below you agree to be bound by these conditions.'; $lang['Agree_under_13'] = 'I Agree to these terms and am <b>under</b> 13 years of age'; $lang['Agree_over_13'] = 'I Agree to these terms and am <b>over</b> or <b>exactly</b> 13 years of age'; $lang['Agree_not'] = 'I do not agree to these terms'; $lang['Wrong_activation'] = 'The activation key you supplied does not match any in the database.'; $lang['Send_password'] = 'Send me a new password'; $lang['Password_updated'] = 'A new password has been created; please check your e-mail for details on how to activate it.'; $lang['No_email_match'] = 'The e-mail address you supplied does not match the one listed for that username.'; $lang['New_password_activation'] = 'New password activation'; $lang['Password_activated'] = 'Your account has been re-activated. To log in, please use the password supplied in the e-mail you received.'; $lang['Send_email_msg'] = 'Send an e-mail message'; $lang['No_user_specified'] = 'No user was specified'; $lang['User_prevent_email'] = 'This user does not wish to receive e-mail. Try sending them a private message.'; $lang['User_not_exist'] = 'That user does not exist'; $lang['CC_email'] = 'Send a copy of this e-mail to yourself'; $lang['Email_message_desc'] = 'This message will be sent as plain text, so do not include any HTML or BBCode. The return address for this message will be set to your e-mail address.'; $lang['Flood_email_limit'] = 'You cannot send another e-mail at this time. Try again later.'; $lang['Recipient'] = 'Recipient'; $lang['Email_sent'] = 'The e-mail has been sent.'; $lang['Send_email'] = 'Send e-mail'; $lang['Empty_subject_email'] = 'You must specify a subject for the e-mail.'; $lang['Empty_message_email'] = 'You must enter a message to be e-mailed.'; // // Visual confirmation system strings // $lang['Confirm_code_wrong'] = 'The confirmation code you entered was incorrect'; $lang['Too_many_registers'] = 'You have exceeded the number of registration attempts for this session. Please try again later.'; $lang['Confirm_code_impaired'] = 'If you are visually impaired or cannot otherwise read this code please contact the %sAdministrator%s for help.'; $lang['Confirm_code'] = 'Confirmation code'; $lang['Confirm_code_explain'] = 'Enter the code exactly as you see it. The code is case sensitive and zero has a diagonal line through it.'; // // Memberslist // $lang['Select_sort_method'] = 'Select sort method'; $lang['Sort'] = 'Sort'; $lang['Sort_Top_Ten'] = 'Top Ten Posters'; $lang['Sort_Joined'] = 'Joined Date'; $lang['Sort_Username'] = 'Username'; $lang['Sort_Location'] = 'Location'; $lang['Sort_Posts'] = 'Total posts'; $lang['Sort_Email'] = 'Email'; $lang['Sort_Website'] = 'Website'; $lang['Sort_Ascending'] = 'Ascending'; $lang['Sort_Descending'] = 'Descending'; $lang['Order'] = 'Order'; // // Search // $lang['Search_query'] = 'Search Query'; $lang['Search_options'] = 'Search Options'; $lang['Search_keywords'] = 'Search for Keywords'; $lang['Search_keywords_explain'] = 'You can use <u>AND</u> to define words which must be in the results, <u>OR</u> to define words which may be in the result and <u>NOT</u> to define words which should not be in the result. Use * as a wildcard for partial matches'; $lang['Search_author'] = 'Search for Author'; $lang['Search_author_explain'] = 'Use * as a wildcard for partial matches'; $lang['Search_for_any'] = 'Search for any terms or use query as entered'; $lang['Search_for_all'] = 'Search for all terms'; $lang['Search_title_msg'] = 'Search topic title and message text'; $lang['Search_msg_only'] = 'Search message text only'; $lang['Return_first'] = 'Return first'; // followed by xxx characters in a select box $lang['characters_posts'] = 'characters of posts'; $lang['Search_previous'] = 'Search previous'; // followed by days, weeks, months, year, all in a select box $lang['Sort_by'] = 'Sort by'; $lang['Sort_Time'] = 'Post Time'; $lang['Sort_Post_Subject'] = 'Post Subject'; $lang['Sort_Topic_Title'] = 'Topic Title'; $lang['Sort_Author'] = 'Author'; $lang['Sort_Forum'] = 'Forum'; $lang['Display_results'] = 'Display results as'; $lang['All_available'] = 'All available'; $lang['No_searchable_forums'] = 'You do not have permissions to search any forum on this site.'; $lang['No_search_match'] = 'No topics or posts met your search criteria'; $lang['Found_search_match'] = 'Search found %d match'; // eg. Search found 1 match $lang['Found_search_matches'] = 'Search found %d matches'; // eg. Search found 24 matches $lang['Search_Flood_Error'] = 'You cannot make another search so soon after your last; please try again in a short while.'; $lang['Close_window'] = 'Close Window'; // // Auth related entries // // Note the %s will be replaced with one of the following 'user' arrays $lang['Sorry_auth_announce'] = 'Sorry, but only %s can post announcements in this forum.'; $lang['Sorry_auth_sticky'] = 'Sorry, but only %s can post sticky messages in this forum.'; $lang['Sorry_auth_read'] = 'Sorry, but only %s can read topics in this forum.'; $lang['Sorry_auth_post'] = 'Sorry, but only %s can post topics in this forum.'; $lang['Sorry_auth_reply'] = 'Sorry, but only %s can reply to posts in this forum.'; $lang['Sorry_auth_edit'] = 'Sorry, but only %s can edit posts in this forum.'; $lang['Sorry_auth_delete'] = 'Sorry, but only %s can delete posts in this forum.'; $lang['Sorry_auth_vote'] = 'Sorry, but only %s can vote in polls in this forum.'; // These replace the %s in the above strings $lang['Auth_Anonymous_Users'] = '<b>anonymous users</b>'; $lang['Auth_Registered_Users'] = '<b>registered users</b>'; $lang['Auth_Users_granted_access'] = '<b>users granted special access</b>'; $lang['Auth_Moderators'] = '<b>moderators</b>'; $lang['Auth_Administrators'] = '<b>administrators</b>'; $lang['Not_Moderator'] = 'You are not a moderator of this forum.'; $lang['Not_Authorised'] = 'Not Authorised'; $lang['You_been_banned'] = 'You have been banned from this forum.<br />Please contact the webmaster or board administrator for more information.'; // // Viewonline // $lang['Reg_users_zero_online'] = 'There are 0 Registered users and '; // There are 5 Registered and $lang['Reg_users_online'] = 'There are %d Registered users and '; // There are 5 Registered and $lang['Reg_user_online'] = 'There is %d Registered user and '; // There is 1 Registered and $lang['Hidden_users_zero_online'] = '0 Hidden users online'; // 6 Hidden users online $lang['Hidden_users_online'] = '%d Hidden users online'; // 6 Hidden users online $lang['Hidden_user_online'] = '%d Hidden user online'; // 6 Hidden users online $lang['Guest_users_online'] = 'There are %d Guest users online'; // There are 10 Guest users online $lang['Guest_users_zero_online'] = 'There are 0 Guest users online'; // There are 10 Guest users online $lang['Guest_user_online'] = 'There is %d Guest user online'; // There is 1 Guest user online $lang['No_users_browsing'] = 'There are no users currently browsing this forum'; $lang['Online_explain'] = 'This data is based on users active over the past five minutes'; $lang['Forum_Location'] = 'Forum Location'; $lang['Last_updated'] = 'Last Updated'; $lang['Forum_index'] = 'Forum index'; $lang['Logging_on'] = 'Logging on'; $lang['Posting_message'] = 'Posting a message'; $lang['Searching_forums'] = 'Searching forums'; $lang['Viewing_profile'] = 'Viewing profile'; $lang['Viewing_online'] = 'Viewing who is online'; $lang['Viewing_member_list'] = 'Viewing member list'; $lang['Viewing_priv_msgs'] = 'Viewing Private Messages'; $lang['Viewing_FAQ'] = 'Viewing FAQ'; // // Moderator Control Panel // $lang['Mod_CP'] = 'Moderator Control Panel'; $lang['Mod_CP_explain'] = 'Using the form below you can perform mass moderation operations on this forum. You can lock, unlock, move or delete any number of topics.'; $lang['Select'] = 'Select'; $lang['Delete'] = 'Delete'; $lang['Move'] = 'Move'; $lang['Lock'] = 'Lock'; $lang['Unlock'] = 'Unlock'; $lang['Topics_Removed'] = 'The selected topics have been successfully removed from the database.'; $lang['Topics_Locked'] = 'The selected topics have been locked.'; $lang['Topics_Moved'] = 'The selected topics have been moved.'; $lang['Topics_Unlocked'] = 'The selected topics have been unlocked.'; $lang['No_Topics_Moved'] = 'No topics were moved.'; $lang['Confirm_delete_topic'] = 'Are you sure you want to remove the selected topic/s?'; $lang['Confirm_lock_topic'] = 'Are you sure you want to lock the selected topic/s?'; $lang['Confirm_unlock_topic'] = 'Are you sure you want to unlock the selected topic/s?'; $lang['Confirm_move_topic'] = 'Are you sure you want to move the selected topic/s?'; $lang['Move_to_forum'] = 'Move to forum'; $lang['Leave_shadow_topic'] = 'Leave shadow topic in old forum.'; $lang['Split_Topic'] = 'Split Topic Control Panel'; $lang['Split_Topic_explain'] = 'Using the form below you can split a topic in two, either by selecting the posts individually or by splitting at a selected post'; $lang['Split_title'] = 'New topic title'; $lang['Split_forum'] = 'Forum for new topic'; $lang['Split_posts'] = 'Split selected posts'; $lang['Split_after'] = 'Split from selected post'; $lang['Topic_split'] = 'The selected topic has been split successfully'; $lang['Too_many_error'] = 'You have selected too many posts. You can only select one post to split a topic after!'; $lang['None_selected'] = 'You have not selected any topics to perform this operation on. Please go back and select at least one.'; $lang['New_forum'] = 'New forum'; $lang['This_posts_IP'] = 'IP address for this post'; $lang['Other_IP_this_user'] = 'Other IP addresses this user has posted from'; $lang['Users_this_IP'] = 'Users posting from this IP address'; $lang['IP_info'] = 'IP Information'; $lang['Lookup_IP'] = 'Look up IP address'; // // Timezones ... for display on each page // $lang['All_times'] = 'All times are %s'; // eg. All times are GMT - 12 Hours (times from next block) $lang['-12'] = 'GMT - 12 Hours'; $lang['-11'] = 'GMT - 11 Hours'; $lang['-10'] = 'GMT - 10 Hours'; $lang['-9'] = 'GMT - 9 Hours'; $lang['-8'] = 'GMT - 8 Hours'; $lang['-7'] = 'GMT - 7 Hours'; $lang['-6'] = 'GMT - 6 Hours'; $lang['-5'] = 'GMT - 5 Hours'; $lang['-4'] = 'GMT - 4 Hours'; $lang['-3.5'] = 'GMT - 3.5 Hours'; $lang['-3'] = 'GMT - 3 Hours'; $lang['-2'] = 'GMT - 2 Hours'; $lang['-1'] = 'GMT - 1 Hours'; $lang['0'] = 'GMT'; $lang['1'] = 'GMT + 1 Hour'; $lang['2'] = 'GMT + 2 Hours'; $lang['3'] = 'GMT + 3 Hours'; $lang['3.5'] = 'GMT + 3.5 Hours'; $lang['4'] = 'GMT + 4 Hours'; $lang['4.5'] = 'GMT + 4.5 Hours'; $lang['5'] = 'GMT + 5 Hours'; $lang['5.5'] = 'GMT + 5.5 Hours'; $lang['6'] = 'GMT + 6 Hours'; $lang['6.5'] = 'GMT + 6.5 Hours'; $lang['7'] = 'GMT + 7 Hours'; $lang['8'] = 'GMT + 8 Hours'; $lang['9'] = 'GMT + 9 Hours'; $lang['9.5'] = 'GMT + 9.5 Hours'; $lang['10'] = 'GMT + 10 Hours'; $lang['11'] = 'GMT + 11 Hours'; $lang['12'] = 'GMT + 12 Hours'; $lang['13'] = 'GMT + 13 Hours'; // These are displayed in the timezone select box $lang['tz']['-12'] = 'GMT - 12 Hours'; $lang['tz']['-11'] = 'GMT - 11 Hours'; $lang['tz']['-10'] = 'GMT - 10 Hours'; $lang['tz']['-9'] = 'GMT - 9 Hours'; $lang['tz']['-8'] = 'GMT - 8 Hours'; $lang['tz']['-7'] = 'GMT - 7 Hours'; $lang['tz']['-6'] = 'GMT - 6 Hours'; $lang['tz']['-5'] = 'GMT - 5 Hours'; $lang['tz']['-4'] = 'GMT - 4 Hours'; $lang['tz']['-3.5'] = 'GMT - 3.5 Hours'; $lang['tz']['-3'] = 'GMT - 3 Hours'; $lang['tz']['-2'] = 'GMT - 2 Hours'; $lang['tz']['-1'] = 'GMT - 1 Hours'; $lang['tz']['0'] = 'GMT'; $lang['tz']['1'] = 'GMT + 1 Hour'; $lang['tz']['2'] = 'GMT + 2 Hours'; $lang['tz']['3'] = 'GMT + 3 Hours'; $lang['tz']['3.5'] = 'GMT + 3.5 Hours'; $lang['tz']['4'] = 'GMT + 4 Hours'; $lang['tz']['4.5'] = 'GMT + 4.5 Hours'; $lang['tz']['5'] = 'GMT + 5 Hours'; $lang['tz']['5.5'] = 'GMT + 5.5 Hours'; $lang['tz']['6'] = 'GMT + 6 Hours'; $lang['tz']['6.5'] = 'GMT + 6.5 Hours'; $lang['tz']['7'] = 'GMT + 7 Hours'; $lang['tz']['8'] = 'GMT + 8 Hours'; $lang['tz']['9'] = 'GMT + 9 Hours'; $lang['tz']['9.5'] = 'GMT + 9.5 Hours'; $lang['tz']['10'] = 'GMT + 10 Hours'; $lang['tz']['11'] = 'GMT + 11 Hours'; $lang['tz']['12'] = 'GMT + 12 Hours'; $lang['tz']['13'] = 'GMT + 13 Hours'; $lang['datetime']['Sunday'] = 'Sunday'; $lang['datetime']['Monday'] = 'Monday'; $lang['datetime']['Tuesday'] = 'Tuesday'; $lang['datetime']['Wednesday'] = 'Wednesday'; $lang['datetime']['Thursday'] = 'Thursday'; $lang['datetime']['Friday'] = 'Friday'; $lang['datetime']['Saturday'] = 'Saturday'; $lang['datetime']['Sun'] = 'Sun'; $lang['datetime']['Mon'] = 'Mon'; $lang['datetime']['Tue'] = 'Tue'; $lang['datetime']['Wed'] = 'Wed'; $lang['datetime']['Thu'] = 'Thu'; $lang['datetime']['Fri'] = 'Fri'; $lang['datetime']['Sat'] = 'Sat'; $lang['datetime']['January'] = 'January'; $lang['datetime']['February'] = 'February'; $lang['datetime']['March'] = 'March'; $lang['datetime']['April'] = 'April'; $lang['datetime']['May'] = 'May'; $lang['datetime']['June'] = 'June'; $lang['datetime']['July'] = 'July'; $lang['datetime']['August'] = 'August'; $lang['datetime']['September'] = 'September'; $lang['datetime']['October'] = 'October'; $lang['datetime']['November'] = 'November'; $lang['datetime']['December'] = 'December'; $lang['datetime']['Jan'] = 'Jan'; $lang['datetime']['Feb'] = 'Feb'; $lang['datetime']['Mar'] = 'Mar'; $lang['datetime']['Apr'] = 'Apr'; $lang['datetime']['May'] = 'May'; $lang['datetime']['Jun'] = 'Jun'; $lang['datetime']['Jul'] = 'Jul'; $lang['datetime']['Aug'] = 'Aug'; $lang['datetime']['Sep'] = 'Sep'; $lang['datetime']['Oct'] = 'Oct'; $lang['datetime']['Nov'] = 'Nov'; $lang['datetime']['Dec'] = 'Dec'; // // Errors (not related to a // specific failure on a page) // $lang['Information'] = 'Information'; $lang['Critical_Information'] = 'Critical Information'; $lang['General_Error'] = 'General Error'; $lang['Critical_Error'] = 'Critical Error'; $lang['An_error_occured'] = 'An Error Occurred'; $lang['A_critical_error'] = 'A Critical Error Occurred'; $lang['Admin_reauthenticate'] = 'To administer the board you must re-authenticate yourself.'; $lang['Login_attempts_exceeded'] = 'The maximum number of %s login attempts has been exceeded. You are not allowed to login for the next %s minutes.'; $lang['Please_remove_install_contrib'] = 'Please ensure both the install/ and contrib/ directories are deleted'; // // That's all, Folks! // ------------------------------------------------- // Begin Simple Subforums MOD $lang['Subforums'] = 'Subforums'; // End Simple Subforums MOD ?> --- NEW FILE: lang_admin.php --- <?php /*************************************************************************** * lang_admin.php [English] * ------------------- * begin : Sat Dec 16 2000 * copyright : (C) 2001 The phpBB Group * email : su...@ph... * * $Id: lang_admin.php,v 1.1 2007/09/09 16:52:07 jonohlsson Exp $ * ****************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * ***************************************************************************/ /* CONTRIBUTORS 2002-12-15 Philip M. White (pw...@ma...) Fixed many minor grammatical mistakes */ // // Format is same as lang_main // // // Modules, this replaces the keys used // in the modules[][] arrays in each module file // $lang['General'] = 'General Admin'; $lang['Users'] = 'User Admin'; $lang['Groups'] = 'Group Admin'; $lang['Forums'] = 'Forum Admin'; $lang['Styles'] = 'Styles Admin'; $lang['Configuration'] = 'Configuration'; $lang['Permissions'] = 'Permissions'; $lang['Manage'] = 'Management'; $lang['Disallow'] = 'Disallow names'; $lang['Prune'] = 'Pruning'; $lang['Mass_Email'] = 'Mass Email'; $lang['Ranks'] = 'Ranks'; $lang['Smilies'] = 'Smilies'; $lang['Ban_Management'] = 'Ban Control'; $lang['Word_Censor'] = 'Word Censors'; $lang['Export'] = 'Export'; $lang['Create_new'] = 'Create'; $lang['Add_new'] = 'Add'; $lang['Backup_DB'] = 'Backup Database'; $lang['Restore_DB'] = 'Restore Database'; // // Index // $lang['Admin'] = 'Administration'; $lang['Not_admin'] = 'You are not authorised to administer this board'; $lang['Welcome_phpBB'] = 'Welcome to phpBB'; $lang['Admin_intro'] = 'Thank you for choosing phpBB as your forum solution. This screen will give you a quick overview of all the various statistics of your board. You can get back to this page by clicking on the <u>Admin Index</u> link in the left pane. To return to the index of your board, click the phpBB logo also in the left pane. The other links on the left hand side of this screen will allow you to control every aspect of your forum experience. Each screen will have instructions on how to use the tools.'; $lang['Main_index'] = 'Forum Index'; $lang['Forum_stats'] = 'Forum Statistics'; $lang['Admin_Index'] = 'Admin Index'; $lang['Preview_forum'] = 'Preview Forum'; $lang['Click_return_admin_index'] = 'Click %sHere%s to return to the Admin Index'; $lang['Statistic'] = 'Statistic'; $lang['Value'] = 'Value'; $lang['Number_posts'] = 'Number of posts'; $lang['Posts_per_day'] = 'Posts per day'; $lang['Number_topics'] = 'Number of topics'; $lang['Topics_per_day'] = 'Topics per day'; $lang['Number_users'] = 'Number of users'; $lang['Users_per_day'] = 'Users per day'; $lang['Board_started'] = 'Board started'; $lang['Avatar_dir_size'] = 'Avatar directory size'; $lang['Database_size'] = 'Database size'; $lang['Gzip_compression'] ='Gzip compression'; $lang['Not_available'] = 'Not available'; $lang['ON'] = 'ON'; // This is for GZip compression $lang['OFF'] = 'OFF'; // // DB Utils // $lang['Database_Utilities'] = 'Database Utilities'; $lang['Restore'] = 'Restore'; $lang['Backup'] = 'Backup'; $lang['Restore_explain'] = 'This will perform a full restore of all phpBB tables from a saved file. If your server supports it, you may upload a gzip-compressed text file and it will automatically be decompressed. <b>WARNING</b>: This will overwrite any existing data. The restore may take a long time to process, so please do not move from this page until it is complete.'; $lang['Backup_explain'] = 'Here you can back up all your phpBB-related data. If you have any additional custom tables in the same database with phpBB that you would like to back up as well, please enter their names, separated by commas, in the Additional Tables textbox below. If your server supports it you may also gzip-compress the file to reduce its size before download.'; $lang['Backup_options'] = 'Backup options'; $lang['Start_backup'] = 'Start Backup'; $lang['Full_backup'] = 'Full backup'; $lang['Structure_backup'] = 'Structure-Only backup'; $lang['Data_backup'] = 'Data only backup'; $lang['Additional_tables'] = 'Additional tables'; $lang['Gzip_compress'] = 'Gzip compress file'; $lang['Select_file'] = 'Select a file'; $lang['Start_Restore'] = 'Start Restore'; $lang['Restore_success'] = 'The Database has been successfully restored.<br /><br />Your board should be back to the state it was when the backup was made.'; $lang['Backup_download'] = 'Your download will start shortly; please wait until it begins.'; $lang['Backups_not_supported'] = 'Sorry, but database backups are not currently supported for your database system.'; $lang['Restore_Error_uploading'] = 'Error in uploading the backup file'; $lang['Restore_Error_filename'] = 'Filename problem; please try an alternative file'; $lang['Restore_Error_decompress'] = 'Cannot decompress a gzip file; please upload a plain text version'; $lang['Restore_Error_no_file'] = 'No file was uploaded'; // // Auth pages // $lang['Select_a_User'] = 'Select a User'; $lang['Select_a_Group'] = 'Select a Group'; $lang['Select_a_Forum'] = 'Select a Forum'; $lang['Auth_Control_User'] = 'User Permissions Control'; $lang['Auth_Control_Group'] = 'Group Permissions Control'; $lang['Auth_Control_Forum'] = 'Forum Permissions Control'; $lang['Look_up_User'] = 'Look up User'; $lang['Look_up_Group'] = 'Look up Group'; $lang['Look_up_Forum'] = 'Look up Forum'; $lang['Group_auth_explain'] = 'Here you can alter the permissions and moderator status assigned to each user group. Do not forget when changing group permissions that individual user permissions may still allow the user entry to forums, etc. You will be warned if this is the case.'; $lang['User_auth_explain'] = 'Here you can alter the permissions and moderator status assigned to each individual user. Do not forget when changing user permissions that group permissions may still allow the user entry to forums, etc. You will be warned if this is the case.'; $lang['Forum_auth_explain'] = 'Here you can alter the authorisation levels of each forum. You will have both a simple and advanced method for doing this, where advanced offers greater control of each forum operation. Remember that changing the permission level of forums will affect which users can carry out the various operations within them.'; $lang['Simple_mode'] = 'Simple Mode'; $lang['Advanced_mode'] = 'Advanced Mode'; $lang['Moderator_status'] = 'Moderator status'; $lang['Allowed_Access'] = 'Allowed Access'; $lang['Disallowed_Access'] = 'Disallowed Access'; $lang['Is_Moderator'] = 'Is Moderator'; $lang['Not_Moderator'] = 'Not Moderator'; $lang['Conflict_warning'] = 'Authorisation Conflict Warning'; $lang['Conflict_access_userauth'] = 'This user still has access rights to this forum via group membership. You may want to alter the group permissions or remove this user the group to fully prevent them having access rights. The groups granting rights (and the forums involved) are noted below.'; $lang['Conflict_mod_userauth'] = 'This user still has moderator rights to this forum via group membership. You may want to alter the group permissions or remove this user the group to fully prevent them having moderator rights. The groups granting rights (and the forums involved) are noted below.'; $lang['Conflict_access_groupauth'] = 'The following user (or users) still have access rights to this forum via their user permission settings. You may want to alter the user permissions to fully prevent them having access rights. The users granted rights (and the forums involved) are noted below.'; $lang['Conflict_mod_groupauth'] = 'The following user (or users) still have moderator rights to this forum via their user permissions settings. You may want to alter the user permissions to fully prevent them having moderator rights. The users granted rights (and the forums involved) are noted below.'; $lang['Public'] = 'Public'; $lang['Private'] = 'Private'; $lang['Registered'] = 'Registered'; $lang['Administrators'] = 'Administrators'; $lang['Hidden'] = 'Hidden'; // These are displayed in the drop down boxes for advanced // mode forum auth, try and keep them short! $lang['Forum_ALL'] = 'ALL'; $lang['Forum_REG'] = 'REG'; $lang['Forum_PRIVATE'] = 'PRIVATE'; $lang['Forum_MOD'] = 'MOD'; $lang['Forum_ADMIN'] = 'ADMIN'; $lang['View'] = 'View'; $lang['Read'] = 'Read'; $lang['Post'] = 'Post'; $lang['Reply'] = 'Reply'; $lang['Edit'] = 'Edit'; $lang['Delete'] = 'Delete'; $lang['Sticky'] = 'Sticky'; $lang['Announce'] = 'Announce'; $lang['Vote'] = 'Vote'; $lang['Pollcreate'] = 'Poll create'; $lang['Permissions'] = 'Permissions'; $lang['Simple_Permission'] = 'Simple Permissions'; $lang['User_Level'] = 'User Level'; $lang['Auth_User'] = 'User'; $lang['Auth_Admin'] = 'Administrator'; $lang['Group_memberships'] = 'Usergroup memberships'; $lang['Usergroup_members'] = 'This group has the following members'; $lang['Forum_auth_updated'] = 'Forum permissions updated'; $lang['User_auth_updated'] = 'User permissions updated'; $lang['Group_auth_updated'] = 'Group permissions updated'; $lang['Auth_updated'] = 'Permissions have been updated'; $lang['Click_return_userauth'] = 'Click %sHere%s to return to User Permissions'; $lang['Click_return_groupauth'] = 'Click %sHere%s to return to Group Permissions'; $lang['Click_return_forumauth'] = 'Click %sHere%s to return to Forum Permissions'; // // Banning // $lang['Ban_control'] = 'Ban Control'; $lang['Ban_explain'] = 'Here you can control the banning of users. You can achieve this by banning either or both of a specific user or an individual or range of IP addresses or hostnames. These methods prevent a user from even reaching the index page of your board. To prevent a user from registering under a different username you can also specify a banned email address. Please note that banning an email address alone will not prevent that user from being able to log on or post to your board. You should use one of the first two methods to achieve this.'; $lang['Ban_explain_warn'] = 'Please note that entering a range of IP addresses results in all the addresses between the start and end being added to the banlist. Attempts will be made to minimise the number of addresses added to the database by introducing wildcards automatically where appropriate. If you really must enter a range, try to keep it small or better yet state specific addresses.'; $lang['Select_username'] = 'Select a Username'; $lang['Select_ip'] = 'Select an IP address'; $lang['Select_email'] = 'Select an Email address'; $lang['Ban_username'] = 'Ban one or more specific users'; $lang['Ban_username_explain'] = 'You can ban multiple users in one go using the appropriate combination of mouse and keyboard for your computer and browser'; $lang['Ban_IP'] = 'Ban one or more IP addresses or hostnames'; $lang['IP_hostname'] = 'IP addresses or hostnames'; $lang['Ban_IP_explain'] = 'To specify several different IP addresses or hostnames separate them with commas. To specify a range of IP addresses, separate the start and end with a hyphen (-); to specify a wildcard, use an asterisk (*).'; $lang['Ban_email'] = 'Ban one or more email addresses'; $lang['Ban_email_explain'] = 'To specify more than one email address, separate them with commas. To specify a wildcard username, use * like *@hotmail.com'; $lang['Unban_username'] = 'Un-ban one more specific users'; $lang['Unban_username_explain'] = 'You can unban multiple users in one go using the appropriate combination of mouse and keyboard for your computer and browser'; $lang['Unban_IP'] = 'Un-ban one or more IP addresses'; $lang['Unban_IP_explain'] = 'You can unban multiple IP addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser'; $lang['Unban_email'] = 'Un-ban one or more email addresses'; $lang['Unban_email_explain'] = 'You can unban multiple email addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser'; $lang['No_banned_users'] = 'No banned usernames'; $lang['No_banned_ip'] = 'No banned IP addresses'; $lang['No_banned_email'] = 'No banned email addresses'; $lang['Ban_update_sucessful'] = 'The banlist has been updated successfully'; $lang['Click_return_banadmin'] = 'Click %sHere%s to return to Ban Control'; // // Configuration // $lang['General_Config'] = 'General Configuration'; $lang['Config_explain'] = 'The form below will allow you to customize all the general board options. For User and Forum configurations use the related links on the left hand side.'; $lang['Click_return_config'] = 'Click %sHere%s to return to General Configuration'; $lang['General_settings'] = 'General Board Settings'; $lang['Server_name'] = 'Domain Name'; $lang['Server_name_explain'] = 'The domain name from which this board runs'; $lang['Script_path'] = 'Script path'; $lang['Script_path_explain'] = 'The path where phpBB2 is located relative to the domain name'; $lang['Server_port'] = 'Server Port'; $lang['Server_port_explain'] = 'The port your server is running on, usually 80. Only change if different'; $lang['Site_name'] = 'Site name'; $lang['Site_desc'] = 'Site description'; $lang['Board_disable'] = 'Disable board'; $lang['Board_disable_explain'] = 'This will make the board unavailable to users. Administrators are able to access the Administration Panel while the board is disabled.'; $lang['Acct_activation'] = 'Enable account activation'; $lang['Acc_None'] = 'None'; // These three entries are the type of activation $lang['Acc_User'] = 'User'; $lang['Acc_Admin'] = 'Admin'; $lang['Abilities_settings'] = 'User and Forum Basic Settings'; $lang['Max_poll_options'] = 'Max number of poll options'; $lang['Flood_Interval'] = 'Flood Interval'; $lang['Flood_Interval_explain'] = 'Number of seconds a user must wait between posts'; $lang['Board_email_form'] = 'User email via board'; $lang['Board_email_form_explain'] = 'Users send email to each other via this board'; $lang['Topics_per_page'] = 'Topics Per Page'; $lang['Posts_per_page'] = 'Posts Per Page'; $lang['Hot_threshold'] = 'Posts for Popular Threshold'; $lang['Default_style'] = 'Default Style'; $lang['Override_style'] = 'Override user style'; $lang['Override_style_explain'] = 'Replaces users style with the default'; $lang['Default_language'] = 'Default Language'; $lang['Date_format'] = 'Date Format'; $lang['System_timezone'] = 'System Timezone'; $lang['Enable_gzip'] = 'Enable GZip Compression'; $lang['Enable_prune'] = 'Enable Forum Pruning'; $lang['Allow_HTML'] = 'Allow HTML'; $lang['Allow_BBCode'] = 'Allow BBCode'; $lang['Allowed_tags'] = 'Allowed HTML tags'; $lang['Allowed_tags_explain'] = 'Separate tags with commas'; $lang['Allow_smilies'] = 'Allow Smilies'; $lang['Smilies_path'] = 'Smilies Storage Path'; $lang['Smilies_path_explain'] = 'Path under your phpBB root dir, e.g. images/smiles'; $lang['Allow_sig'] = 'Allow Signatures'; $lang['Max_sig_length'] = 'Maximum signature length'; $lang['Max_sig_length_explain'] = 'Maximum number of characters in user signatures'; $lang['Allow_name_change'] = 'Allow Username changes'; $lang['Avatar_settings'] = 'Avatar Settings'; $lang['Allow_local'] = 'Enable gallery avatars'; $lang['Allow_remote'] = 'Enable remote avatars'; $lang['Allow_remote_explain'] = 'Avatars linked to from another website'; $lang['Allow_upload'] = 'Enable avatar uploading'; $lang['Max_filesize'] = 'Maximum Avatar File Size'; $lang['Max_filesize_explain'] = 'For uploaded avatar files'; $lang['Max_avatar_size'] = 'Maximum Avatar Dimensions'; $lang['Max_avatar_size_explain'] = '(Heig... [truncated message content] |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:51:55
|
Update of /cvsroot/mxbb/core/includes/shared/phpbb2/includes In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10556/includes Added Files: bbcode.php emailer.php functions.php functions_admin.php functions_post.php functions_search.php functions_selects.php functions_validate.php smtp.php Log Message: Ok, massive update for 2.9.x. --- NEW FILE: functions.php --- <?php /*************************************************************************** * functions.php * ------------------- * begin : Saturday, Feb 13, 2001 * copyright : (C) 2001 The phpBB Group * email : su...@ph... * * $Id: functions.php,v 1.1 2007/09/09 16:51:51 jonohlsson Exp $ * * ***************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * ***************************************************************************/ // // Class phpBB2 - function container // class phpBB2 { function get_db_stat($mode) { global $db; switch( $mode ) { case 'usercount': $sql = "SELECT COUNT(user_id) AS total FROM " . USERS_TABLE . " WHERE user_id <> " . ANONYMOUS; break; case 'newestuser': $sql = "SELECT user_id, username FROM " . USERS_TABLE . " WHERE user_id <> " . ANONYMOUS . " ORDER BY user_id DESC LIMIT 1"; break; case 'postcount': case 'topiccount': $sql = "SELECT SUM(forum_topics) AS topic_total, SUM(forum_posts) AS post_total FROM " . FORUMS_TABLE; break; } if ( !($result = $db->sql_query($sql)) ) { return false; } $row = $db->sql_fetchrow($result); switch ( $mode ) { case 'usercount': return $row['total']; break; case 'newestuser': return $row; break; case 'postcount': return $row['post_total']; break; case 'topiccount': return $row['topic_total']; break; } return false; } // added at phpBB 2.0.11 to properly format the username function phpbb_clean_username($username) { $username = substr(htmlspecialchars(str_replace("\'", "'", trim($username))), 0, 25); $username = self::phpbb_rtrim($username, "\\"); $username = str_replace("'", "\'", $username); return $username; } /** * This function is a wrapper for ltrim, as charlist is only supported in php >= 4.1.0 * Added in phpBB 2.0.18 */ function phpbb_ltrim($str, $charlist = false) { if ($charlist === false) { return ltrim($str); } $php_version = explode('.', PHP_VERSION); // php version < 4.1.0 if ((int) $php_version[0] < 4 || ((int) $php_version[0] == 4 && (int) $php_version[1] < 1)) { while ($str{0} == $charlist) { $str = substr($str, 1); } } else { $str = ltrim($str, $charlist); } return $str; } // added at phpBB 2.0.12 to fix a bug in PHP 4.3.10 (only supporting charlist in php >= 4.1.0) function phpbb_rtrim($str, $charlist = false) { if ($charlist === false) { return rtrim($str); } $php_version = explode('.', PHP_VERSION); // php version < 4.1.0 if ((int) $php_version[0] < 4 || ((int) $php_version[0] == 4 && (int) $php_version[1] < 1)) { while ($str{strlen($str)-1} == $charlist) { $str = substr($str, 0, strlen($str)-1); } } else { $str = rtrim($str, $charlist); } return $str; } /** * Our own generator of random values * This uses a constantly changing value as the base for generating the values * The board wide setting is updated once per page if this code is called * With thanks to Anthrax101 for the inspiration on this one * Added in phpBB 2.0.20 */ function dss_rand() { global $db, $board_config, $dss_seeded; $val = $board_config['rand_seed'] . microtime(); $val = md5($val); $board_config['rand_seed'] = md5($board_config['rand_seed'] . $val . 'a'); if($dss_seeded !== true) { $sql = "UPDATE " . CONFIG_TABLE . " SET config_value = '" . $board_config['rand_seed'] . "' WHERE config_name = 'rand_seed'"; if( !$db->sql_query($sql) ) { mx_message_die(GENERAL_ERROR, "Unable to reseed PRNG", "", __LINE__, __FILE__, $sql); } $dss_seeded = true; } return substr($val, 4, 16); } // // Get Userdata, $user can be username or user_id. If force_str is true, the username will be forced. // function get_userdata($user, $force_str = false) { global $db; if (!is_numeric($user) || $force_str) { $user = self::phpbb_clean_username($user); } else { $user = intval($user); } $sql = "SELECT * FROM " . USERS_TABLE . " WHERE "; $sql .= ( ( is_integer($user) ) ? "user_id = $user" : "username = '" . str_replace("\'", "''", $user) . "'" ) . " AND user_id <> " . ANONYMOUS; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Tried obtaining data for a non-existent user', '', __LINE__, __FILE__, $sql); } return ( $row = $db->sql_fetchrow($result) ) ? $row : false; } function make_jumpbox($action, $match_forum_id = 0) { global $template, $userdata, $lang, $db, $nav_links, $phpEx, $SID; // $is_auth = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata); $sql = "SELECT c.cat_id, c.cat_title, c.cat_order FROM " . CATEGORIES_TABLE . " c, " . FORUMS_TABLE . " f WHERE f.cat_id = c.cat_id GROUP BY c.cat_id, c.cat_title, c.cat_order ORDER BY c.cat_order"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't obtain category list.", "", __LINE__, __FILE__, $sql); } $category_rows = array(); while ( $row = $db->sql_fetchrow($result) ) { $category_rows[] = $row; } if ( $total_categories = count($category_rows) ) { $sql = "SELECT * FROM " . FORUMS_TABLE . " ORDER BY cat_id, forum_order"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql); } $boxstring = '<select name="' . POST_FORUM_URL . '" onchange="if(this.options[this.selectedIndex].value != -1){ forms[\'jumpbox\'].submit() }"><option value="-1">' . $lang['Select_forum'] . '</option>'; $forum_rows = array(); while ( $row = $db->sql_fetchrow($result) ) { $forum_rows[] = $row; } if ( $total_forums = count($forum_rows) ) { for($i = 0; $i < $total_categories; $i++) { $boxstring_forums = ''; for($j = 0; $j < $total_forums; $j++) { if ( $forum_rows[$j]['cat_id'] == $category_rows[$i]['cat_id'] && $forum_rows[$j]['auth_view'] <= AUTH_REG ) { // if ( $forum_rows[$j]['cat_id'] == $category_rows[$i]['cat_id'] && $is_auth[$forum_rows[$j]['forum_id']]['auth_view'] ) // { $selected = ( $forum_rows[$j]['forum_id'] == $match_forum_id ) ? 'selected="selected"' : ''; $boxstring_forums .= '<option value="' . $forum_rows[$j]['forum_id'] . '"' . $selected . '>' . $forum_rows[$j]['forum_name'] . '</option>'; // // Add an array to $nav_links for the Mozilla navigation bar. // 'chapter' and 'forum' can create multiple items, therefore we are using a nested array. // $nav_links['chapter forum'][$forum_rows[$j]['forum_id']] = array ( 'url' => mx_append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=" . $forum_rows[$j]['forum_id']), 'title' => $forum_rows[$j]['forum_name'] ); } } if ( $boxstring_forums != '' ) { $boxstring .= '<option value="-1"> </option>'; $boxstring .= '<option value="-1">' . $category_rows[$i]['cat_title'] . '</option>'; $boxstring .= '<option value="-1">----------------</option>'; $boxstring .= $boxstring_forums; } } } $boxstring .= '</select>'; } else { $boxstring .= '<select name="' . POST_FORUM_URL . '" onchange="if(this.options[this.selectedIndex].value != -1){ forms[\'jumpbox\'].submit() }"></select>'; } // Let the jumpbox work again in sites having additional session id checks. // if ( !empty($SID) ) // { $boxstring .= '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" />'; // } $template->set_filenames(array( 'jumpbox' => 'jumpbox.tpl') ); $template->assign_vars(array( 'L_GO' => $lang['Go'], 'L_JUMP_TO' => $lang['Jump_to'], 'L_SELECT_FORUM' => $lang['Select_forum'], 'S_JUMPBOX_SELECT' => $boxstring, 'S_JUMPBOX_ACTION' => mx_append_sid($action)) ); $template->assign_var_from_handle('JUMPBOX', 'jumpbox'); return; } // // Initialise user settings on page load /* function init_userprefs($userdata) { global $board_config, $theme, $images; global $template, $lang, $phpEx, $phpbb_root_path, $db; global $nav_links; if ( $userdata['user_id'] != ANONYMOUS ) { if ( !empty($userdata['user_lang'])) { $default_lang = self::phpbb_ltrim(basename(self::phpbb_rtrim($userdata['user_lang'])), "'"); } if ( !empty($userdata['user_dateformat']) ) { $board_config['default_dateformat'] = $userdata['user_dateformat']; } if ( isset($userdata['user_timezone']) ) { $board_config['board_timezone'] = $userdata['user_timezone']; } } else { $default_lang = self::phpbb_ltrim(basename(self::phpbb_rtrim($board_config['default_lang'])), "'"); } if ( !file_exists(@self::phpbb_realpath($phpbb_root_path . 'language/lang_' . $default_lang . '/lang_main.'.$phpEx)) ) { if ( $userdata['user_id'] != ANONYMOUS ) { // For logged in users, try the board default language next $default_lang = self::phpbb_ltrim(basename(self::phpbb_rtrim($board_config['default_lang'])), "'"); } else { // For guests it means the default language is not present, try english // This is a long shot since it means serious errors in the setup to reach here, // but english is part of a new install so it's worth us trying $default_lang = 'english'; } if ( !file_exists(@self::phpbb_realpath($phpbb_root_path . 'language/lang_' . $default_lang . '/lang_main.'.$phpEx)) ) { mx_message_die(CRITICAL_ERROR, 'Could not locate valid language pack'); } } // If we've had to change the value in any way then let's write it back to the database // before we go any further since it means there is something wrong with it if ( $userdata['user_id'] != ANONYMOUS && $userdata['user_lang'] !== $default_lang ) { $sql = 'UPDATE ' . USERS_TABLE . " SET user_lang = '" . $default_lang . "' WHERE user_lang = '" . $userdata['user_lang'] . "'"; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(CRITICAL_ERROR, 'Could not update user language info'); } $userdata['user_lang'] = $default_lang; } elseif ( $userdata['user_id'] === ANONYMOUS && $board_config['default_lang'] !== $default_lang ) { $sql = 'UPDATE ' . CONFIG_TABLE . " SET config_value = '" . $default_lang . "' WHERE config_name = 'default_lang'"; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(CRITICAL_ERROR, 'Could not update user language info'); } } $board_config['default_lang'] = $default_lang; include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.' . $phpEx); if ( defined('IN_ADMIN') ) { if( !file_exists(@self::phpbb_realpath($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.'.$phpEx)) ) { $board_config['default_lang'] = 'english'; } include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_admin.' . $phpEx); } // // Set up style // if ( !$board_config['override_user_style'] ) { if ( $userdata['user_id'] != ANONYMOUS && $userdata['user_style'] > 0 ) { if ( $theme = setup_style($userdata['user_style']) ) { return; } } } $theme = setup_style($board_config['default_style']); // // Mozilla navigation bar // Default items that should be valid on all pages. // Defined here to correctly assign the Language Variables // and be able to change the variables within code. // $nav_links['top'] = array ( 'url' => mx_append_sid($phpbb_root_path . 'index.' . $phpEx), 'title' => sprintf($lang['Forum_Index'], $board_config['sitename']) ); $nav_links['search'] = array ( 'url' => mx_append_sid($phpbb_root_path . 'search.' . $phpEx), 'title' => $lang['Search'] ); $nav_links['help'] = array ( 'url' => mx_append_sid($phpbb_root_path . 'faq.' . $phpEx), 'title' => $lang['FAQ'] ); $nav_links['author'] = array ( 'url' => mx_append_sid($phpbb_root_path . 'memberlist.' . $phpEx), 'title' => $lang['Memberlist'] ); return; } */ /* function setup_style($style) { global $db, $board_config, $template, $images, $phpbb_root_path; $sql = 'SELECT * FROM ' . THEMES_TABLE . ' WHERE themes_id = ' . (int) $style; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(CRITICAL_ERROR, 'Could not query database for theme info'); } if ( !($row = $db->sql_fetchrow($result)) ) { // We are trying to setup a style which does not exist in the database // Try to fallback to the board default (if the user had a custom style) // and then any users using this style to the default if it succeeds if ( $style != $board_config['default_style']) { $sql = 'SELECT * FROM ' . THEMES_TABLE . ' WHERE themes_id = ' . (int) $board_config['default_style']; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(CRITICAL_ERROR, 'Could not query database for theme info'); } if ( $row = $db->sql_fetchrow($result) ) { $db->sql_freeresult($result); $sql = 'UPDATE ' . USERS_TABLE . ' SET user_style = ' . (int) $board_config['default_style'] . " WHERE user_style = $style"; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(CRITICAL_ERROR, 'Could not update user theme info'); } } else { mx_message_die(CRITICAL_ERROR, "Could not get theme data for themes_id [$style]"); } } else { mx_message_die(CRITICAL_ERROR, "Could not get theme data for themes_id [$style]"); } } $template_path = 'templates/' ; $template_name = $row['template_name'] ; $template = new Template($phpbb_root_path . $template_path . $template_name); if ( $template ) { $current_template_path = $template_path . $template_name; @include($phpbb_root_path . $template_path . $template_name . '/' . $template_name . '.cfg'); if ( !defined('TEMPLATE_CONFIG') ) { mx_message_die(CRITICAL_ERROR, "Could not open $template_name template config file", '', __LINE__, __FILE__); } $img_lang = ( file_exists(@self::phpbb_realpath($phpbb_root_path . $current_template_path . '/images/lang_' . $board_config['default_lang'])) ) ? $board_config['default_lang'] : 'english'; while( list($key, $value) = @each($images) ) { if ( !is_array($value) ) { $images[$key] = str_replace('{LANG}', 'lang_' . $img_lang, $value); } } } return $row; } */ function encode_ip($dotquad_ip) { $ip_sep = explode('.', $dotquad_ip); return sprintf('%02x%02x%02x%02x', $ip_sep[0], $ip_sep[1], $ip_sep[2], $ip_sep[3]); } function decode_ip($int_ip) { $hexipbang = explode('.', chunk_split($int_ip, 2, '.')); return hexdec($hexipbang[0]). '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]); } // // Create date/time from format and timezone // function create_date($format, $gmepoch, $tz) { global $board_config, $lang; static $translate; if ( empty($translate) && $board_config['default_lang'] != 'english' ) { @reset($lang['datetime']); while ( list($match, $replace) = @each($lang['datetime']) ) { $translate[$match] = $replace; } } return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz)); } // // Pagination routine, generates // page number sequence // function generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = TRUE) { global $lang; $total_pages = ceil($num_items/$per_page); if ( $total_pages == 1 ) { return ''; } $on_page = floor($start_item / $per_page) + 1; $page_string = ''; if ( $total_pages > 10 ) { $init_page_max = ( $total_pages > 3 ) ? 3 : $total_pages; for($i = 1; $i < $init_page_max + 1; $i++) { $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . mx_append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>'; if ( $i < $init_page_max ) { $page_string .= ", "; } } if ( $total_pages > 3 ) { if ( $on_page > 1 && $on_page < $total_pages ) { $page_string .= ( $on_page > 5 ) ? ' ... ' : ', '; $init_page_min = ( $on_page > 4 ) ? $on_page : 5; $init_page_max = ( $on_page < $total_pages - 4 ) ? $on_page : $total_pages - 4; for($i = $init_page_min - 1; $i < $init_page_max + 2; $i++) { $page_string .= ($i == $on_page) ? '<b>' . $i . '</b>' : '<a href="' . mx_append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>'; if ( $i < $init_page_max + 1 ) { $page_string .= ', '; } } $page_string .= ( $on_page < $total_pages - 4 ) ? ' ... ' : ', '; } else { $page_string .= ' ... '; } for($i = $total_pages - 2; $i < $total_pages + 1; $i++) { $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . mx_append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>'; if( $i < $total_pages ) { $page_string .= ", "; } } } } else { for($i = 1; $i < $total_pages + 1; $i++) { $page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . mx_append_sid($base_url . "&start=" . ( ( $i - 1 ) * $per_page ) ) . '">' . $i . '</a>'; if ( $i < $total_pages ) { $page_string .= ', '; } } } if ( $add_prevnext_text ) { if ( $on_page > 1 ) { $page_string = ' <a href="' . mx_append_sid($base_url . "&start=" . ( ( $on_page - 2 ) * $per_page ) ) . '">' . $lang['Previous'] . '</a> ' . $page_string; } if ( $on_page < $total_pages ) { $page_string .= ' <a href="' . mx_append_sid($base_url . "&start=" . ( $on_page * $per_page ) ) . '">' . $lang['Next'] . '</a>'; } } $page_string = $lang['Goto_page'] . ' ' . $page_string; return $page_string; } // // This does exactly what preg_quote() does in PHP 4-ish // If you just need the 1-parameter preg_quote call, then don't bother using this. // function phpbb_preg_quote($str, $delimiter) { $text = preg_quote($str); $text = str_replace($delimiter, '\\' . $delimiter, $text); return $text; } // // Obtain list of naughty words and build preg style replacement arrays for use by the // calling script, note that the vars are passed as references this just makes it easier // to return both sets of arrays // function obtain_word_list(&$orig_word, &$replacement_word) { global $db; // // Define censored word matches // $sql = "SELECT word, replacement FROM " . WORDS_TABLE; if( !($result = $db->sql_query($sql)) ) { mx_message_die(GENERAL_ERROR, 'Could not get censored words from database', '', __LINE__, __FILE__, $sql); } if ( $row = $db->sql_fetchrow($result) ) { do { $orig_word[] = '#\b(' . str_replace('\*', '\w*?', preg_quote($row['word'], '#')) . ')\b#i'; $replacement_word[] = $row['replacement']; } while ( $row = $db->sql_fetchrow($result) ); } return true; } // // This is general replacement for die(), allows templated // output in users (or default) language, etc. // // $msg_code can be one of these constants: // // GENERAL_MESSAGE : Use for any simple text message, eg. results // of an operation, authorisation failures, etc. // // GENERAL ERROR : Use for any error which occurs _AFTER_ the // common.php include and session code, ie. most errors in // pages/functions // // CRITICAL_MESSAGE : Used when basic config data is available but // a session may not exist, eg. banned users // // CRITICAL_ERROR : Used when config data cannot be obtained, eg // no database connection. Should _not_ be used in 99.5% of cases // /* function message_die($msg_code, $msg_text = '', $msg_title = '', $err_line = '', $err_file = '', $sql = '') { global $db, $template, $board_config, $theme, $lang, $phpEx, $phpbb_root_path, $nav_links, $gen_simple_header, $images; global $userdata, $user_ip, $session_length; global $starttime; if(defined('HAS_DIED')) { die("mx_message_die() was called multiple times. This isn't supposed to happen. Was message_die() used in page_tail.php?"); } define('HAS_DIED', 1); $sql_store = $sql; // // Get SQL error if we are debugging. Do this as soon as possible to prevent // subsequent queries from overwriting the status of sql_error() // if ( DEBUG && ( $msg_code == GENERAL_ERROR || $msg_code == CRITICAL_ERROR ) ) { $sql_error = $db->sql_error(); $debug_text = ''; if ( $sql_error['message'] != '' ) { $debug_text .= '<br /><br />SQL Error : ' . $sql_error['code'] . ' ' . $sql_error['message']; } if ( $sql_store != '' ) { $debug_text .= "<br /><br />$sql_store"; } if ( $err_line != '' && $err_file != '' ) { $debug_text .= '<br /><br />Line : ' . $err_line . '<br />File : ' . basename($err_file); } } if( empty($userdata) && ( $msg_code == GENERAL_MESSAGE || $msg_code == GENERAL_ERROR ) ) { $userdata = session_pagestart($user_ip, PAGE_INDEX); init_userprefs($userdata); } // // If the header hasn't been output then do it // if ( !defined('HEADER_INC') && $msg_code != CRITICAL_ERROR ) { if ( empty($lang) ) { if ( !empty($board_config['default_lang']) ) { include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_main.'.$phpEx); } else { include($phpbb_root_path . 'language/lang_english/lang_main.'.$phpEx); } } if ( empty($template) || empty($theme) ) { $theme = setup_style($board_config['default_style']); } // // Load the Page Header // if ( !defined('IN_ADMIN') ) { include($phpbb_root_path . 'includes/page_header.'.$phpEx); } else { include($phpbb_root_path . 'admin/page_header_admin.'.$phpEx); } } switch($msg_code) { case GENERAL_MESSAGE: if ( $msg_title == '' ) { $msg_title = $lang['Information']; } break; case CRITICAL_MESSAGE: if ( $msg_title == '' ) { $msg_title = $lang['Critical_Information']; } break; case GENERAL_ERROR: if ( $msg_text == '' ) { $msg_text = $lang['An_error_occured']; } if ( $msg_title == '' ) { $msg_title = $lang['General_Error']; } break; case CRITICAL_ERROR: // // Critical errors mean we cannot rely on _ANY_ DB information being // available so we're going to dump out a simple echo'd statement // include($phpbb_root_path . 'language/lang_english/lang_main.'.$phpEx); if ( $msg_text == '' ) { $msg_text = $lang['A_critical_error']; } if ( $msg_title == '' ) { $msg_title = 'phpBB : <b>' . $lang['Critical_Error'] . '</b>'; } break; } // // Add on DEBUG info if we've enabled debug mode and this is an error. This // prevents debug info being output for general messages should DEBUG be // set TRUE by accident (preventing confusion for the end user!) // if ( DEBUG && ( $msg_code == GENERAL_ERROR || $msg_code == CRITICAL_ERROR ) ) { if ( $debug_text != '' ) { $msg_text = $msg_text . '<br /><br /><b><u>DEBUG MODE</u></b>' . $debug_text; } } if ( $msg_code != CRITICAL_ERROR ) { if ( !empty($lang[$msg_text]) ) { $msg_text = $lang[$msg_text]; } if ( !defined('IN_ADMIN') ) { $template->set_filenames(array( 'message_body' => 'message_body.tpl') ); } else { $template->set_filenames(array( 'message_body' => 'admin/admin_message_body.tpl') ); } $template->assign_vars(array( 'MESSAGE_TITLE' => $msg_title, 'MESSAGE_TEXT' => $msg_text) ); $template->pparse('message_body'); if ( !defined('IN_ADMIN') ) { include($phpbb_root_path . 'includes/page_tail.'.$phpEx); } else { include($phpbb_root_path . 'admin/page_footer_admin.'.$phpEx); } } else { echo "<html>\n<body>\n" . $msg_title . "\n<br /><br />\n" . $msg_text . "</body>\n</html>"; } exit; } */ // // This function is for compatibility with PHP 4.x's realpath() // function. In later versions of PHP, it needs to be called // to do checks with some functions. Older versions of PHP don't // seem to need this, so we'll just return the original value. // dougk_ff7 <October 5, 2002> function phpbb_realpath($path) { global $phpbb_root_path, $phpEx; return (!@function_exists('realpath') || !@realpath($phpbb_root_path . 'includes/functions.'.$phpEx)) ? $path : @realpath($path); } function redirect($url) { global $db, $board_config; if (!empty($db)) { $db->sql_close(); } if (strstr(urldecode($url), "\n") || strstr(urldecode($url), "\r") || strstr(urldecode($url), ';url')) { message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.'); } $server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://'; $server_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['server_name'])); $server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) : ''; $script_name = preg_replace('#^\/?(.*?)\/?$#', '\1', trim($board_config['script_path'])); $script_name = ($script_name == '') ? $script_name : '/' . $script_name; $url = preg_replace('#^\/?(.*?)\/?$#', '/\1', trim($url)); // Redirect via an HTML form for PITA webservers if (@preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE'))) { header('Refresh: 0; URL=' . $server_protocol . $server_name . $server_port . $script_name . $url); echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><meta http-equiv="refresh" content="0; url=' . $server_protocol . $server_name . $server_port . $script_name . $url . '"><title>Redirect</title></head><body><div align="center">If your browser does not support meta redirection please click <a href="' . $server_protocol . $server_name . $server_port . $script_name . $url . '">HERE</a> to be redirected</div></body></html>'; exit; } // Behave as per HTTP/1.1 spec for others header('Location: ' . $server_protocol . $server_name . $server_port . $script_name . $url); exit; } } ?> --- NEW FILE: smtp.php --- <?php /*************************************************************************** * smtp.php * ------------------- * begin : Wed May 09 2001 * copyright : (C) 2001 The phpBB Group * email : su...@ph... * * $Id: smtp.php,v 1.1 2007/09/09 16:51:51 jonohlsson Exp $ * ***************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * ***************************************************************************/ define('SMTP_INCLUDED', 1); // // This function has been modified as provided // by SirSir to allow multiline responses when // using SMTP Extensions // function server_parse($socket, $response, $line = __LINE__) { $server_response = ''; while (substr($server_response, 3, 1) != ' ') { if (!($server_response = fgets($socket, 256))) { mx_message_die(GENERAL_ERROR, "Couldn't get mail server response codes", "", $line, __FILE__); } } if (!(substr($server_response, 0, 3) == $response)) { mx_message_die(GENERAL_ERROR, "Ran into problems sending Mail. Response: $server_response", "", $line, __FILE__); } } // Replacement or substitute for PHP's mail command function smtpmail($mail_to, $subject, $message, $headers = '') { global $board_config; // Fix any bare linefeeds in the message to make it RFC821 Compliant. $message = preg_replace("#(?<!\r)\n#si", "\r\n", $message); if ($headers != '') { if (is_array($headers)) { if (sizeof($headers) > 1) { $headers = join("\n", $headers); } else { $headers = $headers[0]; } } $headers = chop($headers); // Make sure there are no bare linefeeds in the headers $headers = preg_replace('#(?<!\r)\n#si', "\r\n", $headers); // Ok this is rather confusing all things considered, // but we have to grab bcc and cc headers and treat them differently // Something we really didn't take into consideration originally $header_array = explode("\r\n", $headers); @reset($header_array); $headers = ''; while(list(, $header) = each($header_array)) { if (preg_match('#^cc:#si', $header)) { $cc = preg_replace('#^cc:(.*)#si', '\1', $header); } else if (preg_match('#^bcc:#si', $header)) { $bcc = preg_replace('#^bcc:(.*)#si', '\1', $header); $header = ''; } $headers .= ($header != '') ? $header . "\r\n" : ''; } $headers = chop($headers); $cc = explode(', ', $cc); $bcc = explode(', ', $bcc); } if (trim($subject) == '') { mx_message_die(GENERAL_ERROR, "No email Subject specified", "", __LINE__, __FILE__); } if (trim($message) == '') { mx_message_die(GENERAL_ERROR, "Email message was blank", "", __LINE__, __FILE__); } // Ok we have error checked as much as we can to this point let's get on // it already. if( !$socket = @fsockopen($board_config['smtp_host'], 25, $errno, $errstr, 20) ) { mx_message_die(GENERAL_ERROR, "Could not connect to smtp host : $errno : $errstr", "", __LINE__, __FILE__); } // Wait for reply server_parse($socket, "220", __LINE__); // Do we want to use AUTH?, send RFC2554 EHLO, else send RFC821 HELO // This improved as provided by SirSir to accomodate if( !empty($board_config['smtp_username']) && !empty($board_config['smtp_password']) ) { fputs($socket, "EHLO " . $board_config['smtp_host'] . "\r\n"); server_parse($socket, "250", __LINE__); fputs($socket, "AUTH LOGIN\r\n"); server_parse($socket, "334", __LINE__); fputs($socket, base64_encode($board_config['smtp_username']) . "\r\n"); server_parse($socket, "334", __LINE__); fputs($socket, base64_encode($board_config['smtp_password']) . "\r\n"); server_parse($socket, "235", __LINE__); } else { fputs($socket, "HELO " . $board_config['smtp_host'] . "\r\n"); server_parse($socket, "250", __LINE__); } // From this point onward most server response codes should be 250 // Specify who the mail is from.... fputs($socket, "MAIL FROM: <" . $board_config['board_email'] . ">\r\n"); server_parse($socket, "250", __LINE__); // Specify each user to send to and build to header. $to_header = ''; // Add an additional bit of error checking to the To field. $mail_to = (trim($mail_to) == '') ? 'Undisclosed-recipients:;' : trim($mail_to); if (preg_match('#[^ ]+\@[^ ]+#', $mail_to)) { fputs($socket, "RCPT TO: <$mail_to>\r\n"); server_parse($socket, "250", __LINE__); } // Ok now do the CC and BCC fields... @reset($bcc); while(list(, $bcc_address) = each($bcc)) { // Add an additional bit of error checking to bcc header... $bcc_address = trim($bcc_address); if (preg_match('#[^ ]+\@[^ ]+#', $bcc_address)) { fputs($socket, "RCPT TO: <$bcc_address>\r\n"); server_parse($socket, "250", __LINE__); } } @reset($cc); while(list(, $cc_address) = each($cc)) { // Add an additional bit of error checking to cc header $cc_address = trim($cc_address); if (preg_match('#[^ ]+\@[^ ]+#', $cc_address)) { fputs($socket, "RCPT TO: <$cc_address>\r\n"); server_parse($socket, "250", __LINE__); } } // Ok now we tell the server we are ready to start sending data fputs($socket, "DATA\r\n"); // This is the last response code we look for until the end of the message. server_parse($socket, "354", __LINE__); // Send the Subject Line... fputs($socket, "Subject: $subject\r\n"); // Now the To Header. fputs($socket, "To: $mail_to\r\n"); // Now any custom headers.... fputs($socket, "$headers\r\n\r\n"); // Ok now we are ready for the message... fputs($socket, "$message\r\n"); // Ok the all the ingredients are mixed in let's cook this puppy... fputs($socket, ".\r\n"); server_parse($socket, "250", __LINE__); // Now tell the server we are done and close the socket... fputs($socket, "QUIT\r\n"); fclose($socket); return TRUE; } ?> --- NEW FILE: functions_admin.php --- <?php /*************************************************************************** * functions_admin.php * ------------------- * begin : Saturday, Feb 13, 2001 * copyright : (C) 2001 The phpBB Group * email : su...@ph... * * $Id: functions_admin.php,v 1.1 2007/09/09 16:51:51 jonohlsson Exp $ * * ***************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * ***************************************************************************/ // // Simple version of jumpbox, just lists authed forums // function make_forum_select($box_name, $ignore_forum = false, $select_forum = '') { global $db, $userdata; $is_auth_ary = auth(AUTH_READ, AUTH_LIST_ALL, $userdata); $sql = 'SELECT f.forum_id, f.forum_name FROM ' . CATEGORIES_TABLE . ' c, ' . FORUMS_TABLE . ' f WHERE f.cat_id = c.cat_id ORDER BY c.cat_order, f.forum_order'; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(GENERAL_ERROR, 'Couldn not obtain forums information', '', __LINE__, __FILE__, $sql); } $forum_list = ''; while( $row = $db->sql_fetchrow($result) ) { if ( $is_auth_ary[$row['forum_id']]['auth_read'] && $ignore_forum != $row['forum_id'] ) { $selected = ( $select_forum == $row['forum_id'] ) ? ' selected="selected"' : ''; $forum_list .= '<option value="' . $row['forum_id'] . '"' . $selected .'>' . $row['forum_name'] . '</option>'; } } $forum_list = ( $forum_list == '' ) ? '<option value="-1">-- ! No Forums ! --</option>' : '<select name="' . $box_name . '">' . $forum_list . '</select>'; return $forum_list; } // // Synchronise functions for forums/topics // function sync($type, $id = false) { global $db; switch($type) { case 'all forums': $sql = "SELECT forum_id FROM " . FORUMS_TABLE; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(GENERAL_ERROR, 'Could not get forum IDs', '', __LINE__, __FILE__, $sql); } while( $row = $db->sql_fetchrow($result) ) { sync('forum', $row['forum_id']); } break; case 'all topics': $sql = "SELECT topic_id FROM " . TOPICS_TABLE; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(GENERAL_ERROR, 'Could not get topic ID', '', __LINE__, __FILE__, $sql); } while( $row = $db->sql_fetchrow($result) ) { sync('topic', $row['topic_id']); } break; case 'forum': $sql = "SELECT MAX(post_id) AS last_post, COUNT(post_id) AS total FROM " . POSTS_TABLE . " WHERE forum_id = $id"; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(GENERAL_ERROR, 'Could not get post ID', '', __LINE__, __FILE__, $sql); } if ( $row = $db->sql_fetchrow($result) ) { $last_post = ( $row['last_post'] ) ? $row['last_post'] : 0; $total_posts = ($row['total']) ? $row['total'] : 0; } else { $last_post = 0; $total_posts = 0; } $sql = "SELECT COUNT(topic_id) AS total FROM " . TOPICS_TABLE . " WHERE forum_id = $id"; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(GENERAL_ERROR, 'Could not get topic count', '', __LINE__, __FILE__, $sql); } $total_topics = ( $row = $db->sql_fetchrow($result) ) ? ( ( $row['total'] ) ? $row['total'] : 0 ) : 0; $sql = "UPDATE " . FORUMS_TABLE . " SET forum_last_post_id = $last_post, forum_posts = $total_posts, forum_topics = $total_topics WHERE forum_id = $id"; if ( !$db->sql_query($sql) ) { mx_message_die(GENERAL_ERROR, 'Could not update forum', '', __LINE__, __FILE__, $sql); } break; case 'topic': $sql = "SELECT MAX(post_id) AS last_post, MIN(post_id) AS first_post, COUNT(post_id) AS total_posts FROM " . POSTS_TABLE . " WHERE topic_id = $id"; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(GENERAL_ERROR, 'Could not get post ID', '', __LINE__, __FILE__, $sql); } if ( $row = $db->sql_fetchrow($result) ) { if ($row['total_posts']) { // Correct the details of this topic $sql = 'UPDATE ' . TOPICS_TABLE . ' SET topic_replies = ' . ($row['total_posts'] - 1) . ', topic_first_post_id = ' . $row['first_post'] . ', topic_last_post_id = ' . $row['last_post'] . " WHERE topic_id = $id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Could not update topic', '', __LINE__, __FILE__, $sql); } } else { // There are no replies to this topic // Check if it is a move stub $sql = 'SELECT topic_moved_id FROM ' . TOPICS_TABLE . " WHERE topic_id = $id"; if (!($result = $db->sql_query($sql))) { mx_message_die(GENERAL_ERROR, 'Could not get topic ID', '', __LINE__, __FILE__, $sql); } if ($row = $db->sql_fetchrow($result)) { if (!$row['topic_moved_id']) { $sql = 'DELETE FROM ' . TOPICS_TABLE . " WHERE topic_id = $id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Could not remove topic', '', __LINE__, __FILE__, $sql); } } } $db->sql_freeresult($result); } } break; } return true; } ?> --- NEW FILE: functions_post.php --- <?php /*************************************************************************** * functions_post.php * ------------------- * begin : Saturday, Feb 13, 2001 * copyright : (C) 2001 The phpBB Group * email : su...@ph... * * $Id: functions_post.php,v 1.1 2007/09/09 16:51:51 jonohlsson Exp $ * * ***************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * ***************************************************************************/ if (!defined('IN_PHPBB')) { die('Hacking attempt'); } $html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#'); $html_entities_replace = array('&', '<', '>', '"'); $unhtml_specialchars_match = array('#>#', '#<#', '#"#', '#&#'); $unhtml_specialchars_replace = array('>', '<', '"', '&'); // // This function will prepare a posted message for // entry into the database. // function prepare_message($message, $html_on, $bbcode_on, $smile_on, $bbcode_uid = 0) { global $board_config, $html_entities_match, $html_entities_replace; // // Clean up the message // $message = trim($message); if ($html_on) { // If HTML is on, we try to make it safe // This approach is quite agressive and anything that does not look like a valid tag // is going to get converted to HTML entities $message = stripslashes($message); $html_match = '#<[^\w<]*(\w+)((?:"[^"]*"|\'[^\']*\'|[^<>\'"])+)?>#'; $matches = array(); $message_split = preg_split($html_match, $message); preg_match_all($html_match, $message, $matches); $message = ''; foreach ($message_split as $part) { $tag = array(array_shift($matches[0]), array_shift($matches[1]), array_shift($matches[2])); $message .= preg_replace($html_entities_match, $html_entities_replace, $part) . clean_html($tag); } $message = addslashes($message); $message = str_replace('"', '\"', $message); } else { $message = preg_replace($html_entities_match, $html_entities_replace, $message); } if($bbcode_on && $bbcode_uid != '') { $message = bbencode_first_pass($message, $bbcode_uid); } return $message; } function unprepare_message($message) { global $unhtml_specialchars_match, $unhtml_specialchars_replace; return preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, $message); } // // Prepare a message for posting // function prepare_post(&$mode, &$post_data, &$bbcode_on, &$html_on, &$smilies_on, &$error_msg, &$username, &$bbcode_uid, &$subject, &$message, &$poll_title, &$poll_options, &$poll_length) { global $board_config, $userdata, $lang, $phpEx, $phpbb_root_path; // Check username if (!empty($username)) { $username = phpbb_clean_username($username); if (!$userdata['session_logged_in'] || ($userdata['session_logged_in'] && $username != $userdata['username'])) { include($phpbb_root_path . 'includes/functions_validate.'.$phpEx); $result = validate_username($username); if ($result['error']) { $error_msg .= (!empty($error_msg)) ? '<br />' . $result['error_msg'] : $result['error_msg']; } } else { $username = ''; } } // Check subject if (!empty($subject)) { $subject = htmlspecialchars(trim($subject)); } else if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post'])) { $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_subject'] : $lang['Empty_subject']; } // Check message if (!empty($message)) { $bbcode_uid = ($bbcode_on) ? make_bbcode_uid() : ''; $message = prepare_message(trim($message), $html_on, $bbcode_on, $smilies_on, $bbcode_uid); } else if ($mode != 'delete' && $mode != 'poll_delete') { $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_message'] : $lang['Empty_message']; } // // Handle poll stuff // if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post'])) { $poll_length = (isset($poll_length)) ? max(0, intval($poll_length)) : 0; if (!empty($poll_title)) { $poll_title = htmlspecialchars(trim($poll_title)); } if(!empty($poll_options)) { $temp_option_text = array(); while(list($option_id, $option_text) = @each($poll_options)) { $option_text = trim($option_text); if (!empty($option_text)) { $temp_option_text[intval($option_id)] = htmlspecialchars($option_text); } } $option_text = $temp_option_text; if (count($poll_options) < 2) { $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['To_few_poll_options'] : $lang['To_few_poll_options']; } else if (count($poll_options) > $board_config['max_poll_options']) { $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['To_many_poll_options'] : $lang['To_many_poll_options']; } else if ($poll_title == '') { $error_msg .= (!empty($error_msg)) ? '<br />' . $lang['Empty_poll_title'] : $lang['Empty_poll_title']; } } } return; } // // Post a new topic/reply/poll or edit existing post/poll // function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, $post_username, $post_subject, $post_message, $poll_title, &$poll_options, &$poll_length) { global $board_config, $lang, $db, $phpbb_root_path, $phpEx; global $userdata, $user_ip; include($phpbb_root_path . 'includes/functions_search.'.$phpEx); $current_time = time(); if ($mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost') { // // Flood control // $where_sql = ($userdata['user_id'] == ANONYMOUS) ? "poster_ip = '$user_ip'" : 'poster_id = ' . $userdata['user_id']; $sql = "SELECT MAX(post_time) AS last_post_time FROM " . POSTS_TABLE . " WHERE $where_sql"; if ($result = $db->sql_query($sql)) { if ($row = $db->sql_fetchrow($result)) { if (intval($row['last_post_time']) > 0 && ($current_time - intval($row['last_post_time'])) < intval($board_config['flood_interval'])) { mx_message_die(GENERAL_MESSAGE, $lang['Flood_Error']); } } } } if ($mode == 'editpost') { remove_search_post($post_id); } if ($mode == 'newtopic' || ($mode == 'editpost' && $post_data['first_post'])) { $topic_vote = (!empty($poll_title) && count($poll_options) >= 2) ? 1 : 0; $sql = ($mode != "editpost") ? "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type, topic_vote) VALUES ('$post_subject', " . $userdata['user_id'] . ", $current_time, $forum_id, " . TOPIC_UNLOCKED . ", $topic_type, $topic_vote)" : "UPDATE " . TOPICS_TABLE . " SET topic_title = '$post_subject', topic_type = $topic_type " . (($post_data['edit_vote'] || !empty($poll_title)) ? ", topic_vote = " . $topic_vote : "") . " WHERE topic_id = $topic_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); } if ($mode == 'newtopic') { $topic_id = $db->sql_nextid(); } } $edited_sql = ($mode == 'editpost' && !$post_data['last_post'] && $post_data['poster_post']) ? ", post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : ""; $sql = ($mode != "editpost") ? "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig)" : "UPDATE " . POSTS_TABLE . " SET post_username = '$post_username', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig" . $edited_sql . " WHERE post_id = $post_id"; if (!$db->sql_query($sql, BEGIN_TRANSACTION)) { mx_message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); } if ($mode != 'editpost') { $post_id = $db->sql_nextid(); } $sql = ($mode != 'editpost') ? "INSERT INTO " . POSTS_TEXT_TABLE . " (post_id, post_subject, bbcode_uid, post_text) VALUES ($post_id, '$post_subject', '$bbcode_uid', '$post_message')" : "UPDATE " . POSTS_TEXT_TABLE . " SET post_text = '$post_message', bbcode_uid = '$bbcode_uid', post_subject = '$post_subject' WHERE post_id = $post_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); } add_search_words('single', $post_id, stripslashes($post_message), stripslashes($post_subject)); // // Add poll // if (($mode == 'newtopic' || ($mode == 'editpost' && $post_data['edit_poll'])) && !empty($poll_title) && count($poll_options) >= 2) { $sql = (!$post_data['has_poll']) ? "INSERT INTO " . VOTE_DESC_TABLE . " (topic_id, vote_text, vote_start, vote_length) VALUES ($topic_id, '$poll_title', $current_time, " . ($poll_length * 86400) . ")" : "UPDATE " . VOTE_DESC_TABLE . " SET vote_text = '$poll_title', vote_length = " . ($poll_length * 86400) . " WHERE topic_id = $topic_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); } $delete_option_sql = ''; $old_poll_result = array(); if ($mode == 'editpost' && $post_data['has_poll']) { $sql = "SELECT vote_option_id, vote_result FROM " . VOTE_RESULTS_TABLE . " WHERE vote_id = $poll_id ORDER BY vote_option_id ASC"; if (!($result = $db->sql_query($sql))) { mx_message_die(GENERAL_ERROR, 'Could not obtain vote data results for this topic', '', __LINE__, __FILE__, $sql); } while ($row = $db->sql_fetchrow($result)) { $old_poll_result[$row['vote_option_id']] = $row['vote_result']; if (!isset($poll_options[$row['vote_option_id']])) { $delete_option_sql .= ($delete_option_sql != '') ? ', ' . $row['vote_option_id'] : $row['vote_option_id']; } } } else { $poll_id = $db->sql_nextid(); } @reset($poll_options); $poll_option_id = 1; while (list($option_id, $option_text) = each($poll_options)) { if (!empty($option_text)) { $option_text = str_replace("\'", "''", htmlspecialchars($option_text)); $poll_result = ($mode == "editpost" && isset($old_poll_result[$option_id])) ? $old_poll_result[$option_id] : 0; $sql = ($mode != "editpost" || !isset($old_poll_result[$option_id])) ? "INSERT INTO " . VOTE_RESULTS_TABLE . " (vote_id, vote_option_id, vote_option_text, vote_result) VALUES ($poll_id, $poll_option_id, '$option_text', $poll_result)" : "UPDATE " . VOTE_RESULTS_TABLE . " SET vote_option_text = '$option_text', vote_result = $poll_result WHERE vote_option_id = $option_id AND vote_id = $poll_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); } $poll_option_id++; } } if ($delete_option_sql != '') { $sql = "DELETE FROM " . VOTE_RESULTS_TABLE . " WHERE vote_option_id IN ($delete_option_sql) AND vote_id = $poll_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error deleting pruned poll options', '', __LINE__, __FILE__, $sql); } } } $meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">'; $message = $lang['Stored'] . '<br /><br />' . sprintf($lang['Click_view_message'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>'); return false; } // // Update post stats and details // function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_id, &$user_id) { global $db; $sign = ($mode == 'delete') ? '- 1' : '+ 1'; $forum_update_sql = "forum_posts = forum_posts $sign"; $topic_update_sql = ''; if ($mode == 'delete') { if ($post_data['last_post']) { if ($post_data['first_post']) { $forum_update_sql .= ', forum_topics = forum_topics - 1'; } else { $topic_update_sql .= 'topic_replies = topic_replies - 1'; $sql = "SELECT MAX(post_id) AS last_post_id FROM " . POSTS_TABLE . " WHERE topic_id = $topic_id"; if (!($result = $db->sql_query($sql))) { mx_message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); } if ($row = $db->sql_fetchrow($result)) { $topic_update_sql .= ', topic_last_post_id = ' . $row['last_post_id']; } } if ($post_data['last_topic']) { $sql = "SELECT MAX(post_id) AS last_post_id FROM " . POSTS_TABLE . " WHERE forum_id = $forum_id"; if (!($result = $db->sql_query($sql))) { mx_message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); } if ($row = $db->sql_fetchrow($result)) { $forum_update_sql .= ($row['last_post_id']) ? ', forum_last_post_id = ' . $row['last_post_id'] : ', forum_last_post_id = 0'; } } } else if ($post_data['first_post']) { $sql = "SELECT MIN(post_id) AS first_post_id FROM " . POSTS_TABLE . " WHERE topic_id = $topic_id"; if (!($result = $db->sql_query($sql))) { mx_message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); } if ($row = $db->sql_fetchrow($result)) { $topic_update_sql .= 'topic_replies = topic_replies - 1, topic_first_post_id = ' . $row['first_post_id']; } } else { $topic_update_sql .= 'topic_replies = topic_replies - 1'; } } else if ($mode != 'poll_delete') { $forum_update_sql .= ", forum_last_post_id = $post_id" . (($mode == 'newtopic') ? ", forum_topics = forum_topics $sign" : ""); $topic_update_sql = "topic_last_post_id = $post_id" . (($mode == 'reply') ? ", topic_replies = topic_replies $sign" : ", topic_first_post_id = $post_id"); } else { $topic_update_sql .= 'topic_vote = 0'; } if ($mode != 'poll_delete') { $sql = "UPDATE " . FORUMS_TABLE . " SET $forum_update_sql WHERE forum_id = $forum_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); } } if ($topic_update_sql != '') { $sql = "UPDATE " . TOPICS_TABLE . " SET $topic_update_sql WHERE topic_id = $topic_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); } } if ($mode != 'poll_delete') { $sql = "UPDATE " . USERS_TABLE . " SET user_posts = user_posts $sign WHERE user_id = $user_id"; if (!$db->sql_query($sql, END_TRANSACTION)) { mx_message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql); } } return; } // // Delete a post/poll // function delete_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id) { global $board_config, $lang, $db, $phpbb_root_path, $phpEx; global $userdata, $user_ip; if ($mode != 'poll_delete') { include($phpbb_root_path . 'includes/functions_search.'.$phpEx); $sql = "DELETE FROM " . POSTS_TABLE . " WHERE post_id = $post_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); } $sql = "DELETE FROM " . POSTS_TEXT_TABLE . " WHERE post_id = $post_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); } if ($post_data['last_post']) { if ($post_data['first_post']) { $forum_update_sql .= ', forum_topics = forum_topics - 1'; $sql = "DELETE FROM " . TOPICS_TABLE . " WHERE topic_id = $topic_id OR topic_moved_id = $topic_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); } $sql = "DELETE FROM " . TOPICS_WATCH_TABLE . " WHERE topic_id = $topic_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql); } } } remove_search_post($post_id); } if ($mode == 'poll_delete' || ($mode == 'delete' && $post_data['first_post'] && $post_data['last_post']) && $post_data['has_poll'] && $post_data['edit_poll']) { $sql = "DELETE FROM " . VOTE_DESC_TABLE . " WHERE topic_id = $topic_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error in deleting poll', '', __LINE__, __FILE__, $sql); } $sql = "DELETE FROM " . VOTE_RESULTS_TABLE . " WHERE vote_id = $poll_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error in deleting poll', '', __LINE__, __FILE__, $sql); } $sql = "DELETE FROM " . VOTE_USERS_TABLE . " WHERE vote_id = $poll_id"; if (!$db->sql_query($sql)) { mx_message_die(GENERAL_ERROR, 'Error in deleting poll', '', __LINE__, __FILE__, $sql); } } if ($mode == 'delete' && $post_data['first_post'] && $post_data['last_post']) { $meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $forum_id) . '">'; $message = $lang['Deleted']; } else { $meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $topic_id) . '">'; $message = (($mode == 'poll_delete') ? $lang['Poll_delete'] : $lang['Deleted']) . '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>'); } $message .= '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>'); return; } // // Handle user notification on new post // function user_notification($mode, &$post_data, &$topic_title, &$forum_id, &$topic_id, &$post_id, &$notify_user) { global $board_config, $lang, $db, $phpbb_root_path, $phpEx; global $userdata, $user_ip; $current_time = time(); if ($mode != 'delete') { if ($mode == 'reply') { $sql = "SELECT ban_userid FROM " . BANLIST_TABLE; if (!($result = $db->sql_query($sql))) { mx_message_die(GENERAL_ERROR, 'Could not obtain banlist', '', __LINE__, __FILE__, $sql); } $user_id_sql = ''; while ($row = $db->sql_fetchrow($result)) { if (isset($row['ban_userid']) && !empty($row['ban_userid'])) { $user_id_sql .= ', ' . $row['ban_userid']; } } $sql = "SELECT u.user_id, u.user_email, u.user_lang FROM " . TOPICS_WATCH_TABLE . " tw, " . USERS_TABLE . " u WHERE tw.topic_id = $topic_id AND tw.user_id NOT IN (" . $userdata['user_id'] . ", " . ANONYMOUS . $user_id_sql . ") AND tw.notify_status = " . TOPIC_WATCH_UN_NOTIFIED . " AND u.user_id = tw.user_id"; if (!($result = $db->sql_query($sql))) { mx_message_die(GENERAL_ERROR, 'Could not obtain list of topic watchers', '', __LINE__, __FILE__, $sql); } $update_watched_sql = ''; $bcc_list_ary = array(); if ($row = $db->sql_fetchrow($result)) { // Sixty second limit @set_time_limit(60); do { if ($row['user_email'] != '') { $bcc_list_ary[$row['user_lang']][] = $row['user_email']; } $update_watched_sql .= ($update_watched_sql != '') ? ', ' . $row['user_id'] : $row['user_id']; } while ($row = $db->sql_fetchrow($result)); // // Let's do some checking to make sure that mass mail functions // are working in win32 versions of php. // if (preg_match('/[c-z]:\\\.*/i', getenv('PATH')) && !$board_config['smtp_delivery']) { $ini_val = (@phpversion() >= '4.0.0') ? 'ini_get' : 'get_cfg_var'; // We are running on windows, force delivery to use our smtp functions // since php's are broken by default $board_config['smtp_delivery'] = 1; $board_config['smtp_host'] = @$ini_val('SMTP'); } if (sizeof($bcc_list_ary)) { include($phpbb_root_path . 'includes/emailer.'.$phpEx); $emailer = new emailer($board_config['smtp_delivery']); $script_name = preg_replace('/^\/?(.*?)\/?$/', '\1', trim($board_config['script_path'])); $script_name = ($script_name != '') ? $script_name . '/viewtopic.'.$phpEx : 'viewtopic.'.$phpEx; $server_name = trim($board_config['server_name']); $server_protocol = ($board_config['cookie_secure']) ? 'https://' : 'http://'; $server_port = ($board_config['server_port'] <> 80) ? ':' . trim($board_config['server_port']) . '/' : '/'; $orig_word = array(); $replacement_word = array(); phpBB2::obtain_word_list($orig_word, $replacement_word); $emailer->from($board_config['board_email']); $emailer->replyto($board_config['board_email']); $topic_title = (count($orig_word)) ? preg_replace($orig_word, $replacement_word, unprepare_message($topic_title)) : unprepare_message($topic_title); @reset($bcc_list_ary); while (list($user_lang, $bcc_list) = each($bcc_list_ary)) { $emailer->use_template('topic_notify', $user_lang); for ($i = 0; $i < count($bcc_list); $i++) { $emailer->bcc($bcc_list[$i]); } // The Topic_reply_notification lang string below will be used // if for some reason the mail template subject cannot be read // ... note it will not necessarily be in the posters own language! $emailer->set_subject($lang['Topic_reply_notification']); // This is a nasty kludge to remove the username var ... till (if?) // translators update their templates $emailer->msg = preg_replace('#[ ]?{USERNAME}#', '', $emailer->msg); $emailer->assign_vars(array( 'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '', 'SITENAME' => $board_config['sitename'], 'TOPIC_TITLE' => $to... [truncated message content] |
Update of /cvsroot/mxbb/core/includes/shared/phpbb2/images/smiles In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10556/images/smiles Added Files: icon_arrow.gif icon_biggrin.gif icon_confused.gif icon_cool.gif icon_cry.gif icon_eek.gif icon_evil.gif icon_exclaim.gif icon_frown.gif icon_idea.gif icon_lol.gif icon_mad.gif icon_mrgreen.gif icon_neutral.gif icon_question.gif icon_razz.gif icon_redface.gif icon_rolleyes.gif icon_sad.gif icon_smile.gif icon_surprised.gif icon_twisted.gif icon_wink.gif Log Message: Ok, massive update for 2.9.x. --- NEW FILE: icon_frown.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_mad.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_question.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_redface.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_biggrin.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_razz.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_sad.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_exclaim.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_eek.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_idea.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_twisted.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_rolleyes.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_cry.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_cool.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_surprised.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_smile.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_confused.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_arrow.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_evil.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_neutral.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_mrgreen.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_lol.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: icon_wink.gif --- (This appears to be a binary file; contents omitted.) |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:51:53
|
Update of /cvsroot/mxbb/core/includes/shared/phpbb2/images In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10556/images Added Files: .htaccess index.htm spacer.gif Log Message: Ok, massive update for 2.9.x. --- NEW FILE: .htaccess --- allow from all --- NEW FILE: spacer.gif --- (This appears to be a binary file; contents omitted.) --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:51:40
|
Update of /cvsroot/mxbb/core/includes/sessions/phpbb3 In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10517/phpbb3 Added Files: auth.php constants.php login.php session.php Log Message: Ok, massive update for 2.9.x. --- NEW FILE: login.php --- <?php /** * * @package mxBB Portal Core * @version $Id: login.php,v 1.1 2007/09/09 16:51:32 jonohlsson Exp $ * @copyright (c) 2002-2006 mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * @link http://www.mxbb.net * */ if ( !defined('IN_PORTAL') ) { die("Hacking attempt"); } if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && ($userdata['user_id'] == ANONYMOUS || isset($HTTP_POST_VARS['admin'])) ) { $username = isset($HTTP_POST_VARS['username']) ? phpBB2::phpbb_clean_username($HTTP_POST_VARS['username']) : ''; $password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : ''; $sql = "SELECT * FROM " . USERS_TABLE . " WHERE username = '" . str_replace("\\'", "''", $username) . "' OR username_clean = '" . str_replace("\\'", "''", $username) . "'"; if ( !($result = $db->sql_query($sql) ) ) { mx_message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql); } if( $row = $db->sql_fetchrow($result) ) { //$user_type = $row['user_level']; // phpBB2 $user_type = $row['user_type']; // phpBB3 if( $user_type != ADMIN && $board_config['board_disable'] ) { mx_redirect(mx3_append_sid("index.$phpEx", false)); } else { $user_login_attempts = $row['user_login_attempts']; if ( $user_login_attempts && $board_config['login_reset_time'] ) { $db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_attempts = 0 WHERE user_id = ' . $row['user_id']); $row['user_last_login_try'] = $row['user_login_tries'] = 0; } // Check to see if user is allowed to login again... if his tries are exceeded if ($user_login_attempt && $board_config['login_reset_time'] && $board_config['max_login_attempts'] && $user_login_attempts >= $board_config['max_login_attempts'] && $userdata['user_level'] != ADMIN) { mx_message_die(GENERAL_MESSAGE, sprintf($lang['Login_attempts_exceeded'], $board_config['max_login_attempts'], $board_config['login_reset_time'])); } // If the password convert flag is set we need to convert it if ($row['user_pass_convert']) { // in phpBB2 passwords were used exactly as they were sent, with addslashes applied $password_old_format = isset($_REQUEST['password']) ? $_REQUEST['password'] : $password; $password_old_format = (!STRIP) ? addslashes($password_old_format) : $password_old_format; $password_new_format = ''; $password_new_format = stripslashes($password_old_format); mx_message_die(CRITICAL_ERROR, "Couldn't start session : login", $password_new_format, ''); if ($password_new_format == $password_old_format) { if (!function_exists('utf8_to_cp1252')) { global $phpbb_root_path, $phpEx; include($phpbb_root_path . 'includes/utf/data/recode_basic.' . $phpEx); } // cp1252 is phpBB2's default encoding, characters outside ASCII range might work when converted into that encoding if (md5($password_old_format) == $row['user_password'] || md5(utf8_to_cp1252($password_old_format)) == $row['user_password'] || md5($password) == $row['user_password']) { $autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0; $admin = (isset($HTTP_POST_VARS['admin'])) ? 1 : 0; $mx_user->session_create($row['user_id'], $admin, $autologin, $viewonline = true); $session_id = $mx_user->session_id; // Reset login tries //$db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']); // phpBB2 $db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_attempts = 0 WHERE user_id = ' . $row['user_id']); // phpBB3 if( $session_id ) { $fromurl = ( !empty($HTTP_REFERER) ) ? str_replace('&', '&', htmlspecialchars($HTTP_REFERER)) : "index.$phpEx"; $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : $fromurl; mx_redirect(mx3_append_sid($url, false, false, $session_id)); } else { mx_message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__); } } else { // Although we weren't able to convert this password we have to // increase login attempt count to make sure this cannot be exploited $sql = 'UPDATE ' . USERS_TABLE . ' SET user_login_attempts = user_login_attempts + 1 WHERE user_id = ' . $row['user_id']; $db->sql_query($sql); $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : ''; $redirect = str_replace('?', '&', $redirect); if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r")) { mx_message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.'); } $template->assign_vars(array( 'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">") ); $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . mx3_append_sid("index.$phpEx") . '">', '</a>'); mx_message_die(GENERAL_MESSAGE, $message); } } // Check password ... if (!$row['user_pass_convert'] && md5($password) == $row['user_password']) { if ($row['user_login_attempts'] != 0) { // Successful, reset login attempts (the user passed all stages) $sql = 'UPDATE ' . USERS_TABLE . ' SET user_login_attempts = 0 WHERE user_id = ' . $row['user_id']; $db->sql_query($sql); } // User inactive... if ($row['user_type'] == USER_INACTIVE || $row['user_type'] == USER_IGNORE) { } // Successful login... set user_login_attempts to zero... if( $session_id ) { $fromurl = ( !empty($HTTP_REFERER) ) ? str_replace('&', '&', htmlspecialchars($HTTP_REFERER)) : "index.$phpEx"; $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : $fromurl; mx_redirect(mx3_append_sid($url, false, false, $session_id)); } else { mx_message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__); } } } else { // in phpBB2 passwords were used exactly as they were sent, with addslashes applied $password_old_format = isset($_REQUEST['password']) ? $_REQUEST['password'] : $password; $password_old_format = (!STRIP) ? addslashes($password_old_format) : $password_old_format; $password_new_format = ''; $password_new_format = stripslashes($password_old_format); //mx_message_die(CRITICAL_ERROR, "Couldn't start session : login", $password_new_format, ''); if ($password_new_format == $password_old_format) { if (!function_exists('utf8_to_cp1252')) { global $phpbb_root_path, $phpEx; include($phpbb_root_path . 'includes/utf/data/recode_basic.' . $phpEx); } // cp1252 is phpBB2's default encoding, characters outside ASCII range might work when converted into that encoding if (md5($password_old_format) == $row['user_password'] || md5(utf8_to_cp1252($password_old_format)) == $row['user_password'] || md5($password) == $row['user_password']) { $autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0; $admin = (isset($HTTP_POST_VARS['admin'])) ? 1 : 0; $mx_user->session_create($row['user_id'], $admin, $autologin, $viewonline = true); $session_id = $mx_user->session_id; // Reset login tries //$db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']); // phpBB2 $db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_attempts = 0 WHERE user_id = ' . $row['user_id']); // phpBB3 if( $session_id ) { $fromurl = ( !empty($HTTP_REFERER) ) ? str_replace('&', '&', htmlspecialchars($HTTP_REFERER)) : "index.$phpEx"; $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : $fromurl; mx_redirect(mx3_append_sid($url, false, false, $session_id)); } else { mx_message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__); } } else { // Although we weren't able to convert this password we have to // increase login attempt count to make sure this cannot be exploited $sql = ' UPDATE ' . USERS_TABLE . ' SET user_login_attempts = user_login_attempts + 1 WHERE user_id = ' . $row['user_id']; $db->sql_query($sql); $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : ''; $redirect = str_replace('?', '&', $redirect); if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r")) { mx_message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.'); } $template->assign_vars(array( 'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">") ); $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . mx3_append_sid("index.$phpEx") . '">', '</a>'); mx_message_die(GENERAL_MESSAGE, $message); } } // Check password ... if (!$row['user_pass_convert'] && md5($password) == $row['user_password']) { if ($row['user_login_attempts'] != 0) { // Successful, reset login attempts (the user passed all stages) $sql = 'UPDATE ' . USERS_TABLE . ' SET user_login_attempts = 0 WHERE user_id = ' . $row['user_id']; $db->sql_query($sql); } // User inactive... if ($row['user_type'] == USER_INACTIVE || $row['user_type'] == USER_IGNORE) { } // Successful login... set user_login_attempts to zero... if( $session_id ) { $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx"; mx_redirect(mx3_append_sid($url, false)); } else { mx_message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__); } } } } } else { $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : ""; $redirect = str_replace("?", "&", $redirect); if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r")) { mx_message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.'); } $template->assign_vars(array( 'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">") ); $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . mx3_append_sid("index.$phpEx") . '">', '</a>'); mx_message_die(GENERAL_MESSAGE, $message); } } else if( ( isset($HTTP_GET_VARS['logout']) || isset($HTTP_POST_VARS['logout']) ) && $userdata['session_logged_in'] ) { // session id check if ($sid == '' || $sid != $userdata['session_id']) { mx_message_die(GENERAL_ERROR, 'Invalid_session' . $userdata['session_id']); } if( $userdata['session_logged_in'] ) { $mx_user->session_kill(); } if (!empty($HTTP_POST_VARS['redirect']) || !empty($HTTP_GET_VARS['redirect'])) { $url = (!empty($HTTP_POST_VARS['redirect'])) ? htmlspecialchars($HTTP_POST_VARS['redirect']) : htmlspecialchars($HTTP_GET_VARS['redirect']); $url = str_replace('&', '&', $url); mx_redirect(mx3_append_sid($url, false)); } else { mx_redirect(mx3_append_sid("index.$phpEx", false)); } } else { $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx"; mx_redirect(mx3_append_sid($url, false)); } ?> --- NEW FILE: auth.php --- <?php /** * * @package Auth * @version $Id: auth.php,v 1.1 2007/09/09 16:51:31 jonohlsson Exp $ * @copyright (c) 2002-2006 mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * @link http://www.mxbb.net * */ if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt" ); } /** * Permission/Auth class for phpBB3 forums * @package mxBB3 */ class phpbb_auth_base { var $acl = array(); var $cache = array(); var $acl_options = array(); var $acl_forum_ids = false; /** * Init permissions */ function acl(&$userdata) { global $db, $mx_cache; $this->acl = $this->cache = $this->acl_options = array(); $this->acl_forum_ids = false; if (($this->acl_options = $mx_cache->get('_acl_options')) === false) { $sql = 'SELECT auth_option, is_global, is_local FROM ' . ACL_OPTIONS_TABLE . ' ORDER BY auth_option_id'; $result = $db->sql_query($sql); $global = $local = 0; $this->acl_options = array(); while ($row = $db->sql_fetchrow($result)) { if ($row['is_global']) { $this->acl_options['global'][$row['auth_option']] = $global++; } if ($row['is_local']) { $this->acl_options['local'][$row['auth_option']] = $local++; } } $db->sql_freeresult($result); $mx_cache->put('_acl_options', $this->acl_options); $this->acl_cache($userdata); } else if (!trim($userdata['user_permissions'])) { $this->acl_cache($userdata); } $user_permissions = explode("\n", $userdata['user_permissions']); foreach ($user_permissions as $f => $seq) { if ($seq) { $i = 0; if (!isset($this->acl[$f])) { $this->acl[$f] = ''; } while ($subseq = substr($seq, $i, 6)) { // We put the original bitstring into the acl array $this->acl[$f] .= str_pad(base_convert($subseq, 36, 2), 31, 0, STR_PAD_LEFT); $i += 6; } } } return; } /** * Look up an option * if the option is prefixed with !, then the result becomes negated * * If a forum id is specified the local option will be combined with a global option if one exist. * If a forum id is not specified, only the global option will be checked. */ function acl_get($opt, $f = 0) { $negate = false; if (strpos($opt, '!') === 0) { $negate = true; $opt = substr($opt, 1); } if (!isset($this->cache[$f][$opt])) { // We combine the global/local option with an OR because some options are global and local. // If the user has the global permission the local one is true too and vice versa $this->cache[$f][$opt] = false; // Is this option a global permission setting? if (isset($this->acl_options['global'][$opt])) { if (isset($this->acl[0])) { $this->cache[$f][$opt] = $this->acl[0][$this->acl_options['global'][$opt]]; } } // Is this option a local permission setting? // But if we check for a global option only, we won't combine the options... if ($f != 0 && isset($this->acl_options['local'][$opt])) { if (isset($this->acl[$f]) && isset($this->acl[$f][$this->acl_options['local'][$opt]])) { $this->cache[$f][$opt] |= $this->acl[$f][$this->acl_options['local'][$opt]]; } } } // Founder always has all global options set to true... return ($negate) ? !$this->cache[$f][$opt] : $this->cache[$f][$opt]; } /** * Get forums with the specified permission setting * if the option is prefixed with !, then the result becomes nagated * * @param bool $clean set to true if only values needs to be returned which are set/unset */ function acl_getf($opt, $clean = false) { $acl_f = array(); $negate = false; if (strpos($opt, '!') === 0) { $negate = true; $opt = substr($opt, 1); } // If we retrieve a list of forums not having permissions in, we need to get every forum_id if ($negate) { if ($this->acl_forum_ids === false) { global $db; $sql = 'SELECT forum_id FROM ' . FORUMS_TABLE; if (sizeof($this->acl)) { $sql .= ' WHERE ' . $db->sql_in_set('forum_id', array_keys($this->acl), true); } $result = $db->sql_query($sql); $this->acl_forum_ids = array(); while ($row = $db->sql_fetchrow($result)) { $this->acl_forum_ids[] = $row['forum_id']; } $db->sql_freeresult($result); } } if (isset($this->acl_options['local'][$opt])) { foreach ($this->acl as $f => $bitstring) { // Skip global settings if (!$f) { continue; } $allowed = (!isset($this->cache[$f][$opt])) ? $this->acl_get($opt, $f) : $this->cache[$f][$opt]; if (!$clean) { $acl_f[$f][$opt] = ($negate) ? !$allowed : $allowed; } else { if (($negate && !$allowed) || (!$negate && $allowed)) { $acl_f[$f][$opt] = 1; } } } } // If we get forum_ids not having this permission, we need to fill the remaining parts if ($negate && sizeof($this->acl_forum_ids)) { foreach ($this->acl_forum_ids as $f) { $acl_f[$f][$opt] = 1; } } return $acl_f; } /** * Get local permission state for any forum. * * Returns true if user has the permission in one or more forums, false if in no forum. * If global option is checked it returns the global state (same as acl_get($opt)) * Local option has precedence... */ function acl_getf_global($opt) { if (is_array($opt)) { // evaluates to true as soon as acl_getf_global is true for one option foreach ($opt as $check_option) { if ($this->acl_getf_global($check_option)) { return true; } } return false; } if (isset($this->acl_options['local'][$opt])) { foreach ($this->acl as $f => $bitstring) { // Skip global settings if (!$f) { continue; } // as soon as the user has any permission we're done so return true if ((!isset($this->cache[$f][$opt])) ? $this->acl_get($opt, $f) : $this->cache[$f][$opt]) { return true; } } } else if (isset($this->acl_options['global'][$opt])) { return $this->acl_get($opt); } return false; } /** * Get permission settings (more than one) */ function acl_gets() { $args = func_get_args(); $f = array_pop($args); if (!is_numeric($f)) { $args[] = $f; $f = 0; } // alternate syntax: acl_gets(array('m_', 'a_'), $forum_id) if (is_array($args[0])) { $args = $args[0]; } $acl = 0; foreach ($args as $opt) { $acl |= $this->acl_get($opt, $f); } return $acl; } /** * Get permission listing based on user_id/options/forum_ids */ function acl_get_list($user_id = false, $opts = false, $forum_id = false) { $hold_ary = $this->acl_raw_data($user_id, $opts, $forum_id); $auth_ary = array(); foreach ($hold_ary as $user_id => $forum_ary) { foreach ($forum_ary as $forum_id => $auth_option_ary) { foreach ($auth_option_ary as $auth_option => $auth_setting) { if ($auth_setting) { $auth_ary[$forum_id][$auth_option][] = $user_id; } } } } return $auth_ary; } /** * Cache data to user_permissions row */ function acl_cache(&$userdata) { global $db; // Empty user_permissions $userdata['user_permissions'] = ''; $hold_ary = $this->acl_raw_data($userdata['user_id'], false, false); if (isset($hold_ary[$userdata['user_id']])) { $hold_ary = $hold_ary[$userdata['user_id']]; } // Key 0 in $hold_ary are global options, all others are forum_ids // If this user is founder we're going to force fill the admin options ... if ($userdata['user_type'] == USER_FOUNDER) { foreach ($this->acl_options['global'] as $opt => $id) { if (strpos($opt, 'a_') === 0) { $hold_ary[0][$opt] = ACL_YES; } } } $hold_str = $this->build_bitstring($hold_ary); if ($hold_str) { $userdata['user_permissions'] = $hold_str; $sql = 'UPDATE ' . USERS_TABLE . " SET user_permissions = '" . $db->sql_escape($userdata['user_permissions']) . "', user_perm_from = 0 WHERE user_id = " . $userdata['user_id']; $db->sql_query($sql); } return; } /** * Build bitstring from permission set */ function build_bitstring(&$hold_ary) { $hold_str = ''; if (sizeof($hold_ary)) { ksort($hold_ary); $last_f = 0; foreach ($hold_ary as $f => $auth_ary) { $ary_key = (!$f) ? 'global' : 'local'; $bitstring = array(); foreach ($this->acl_options[$ary_key] as $opt => $id) { if (isset($auth_ary[$opt])) { $bitstring[$id] = $auth_ary[$opt]; $option_key = substr($opt, 0, strpos($opt, '_') + 1); // If one option is allowed, the global permission for this option has to be allowed too // example: if the user has the a_ permission this means he has one or more a_* permissions if ($auth_ary[$opt] == ACL_YES && (!isset($bitstring[$this->acl_options[$ary_key][$option_key]]) || $bitstring[$this->acl_options[$ary_key][$option_key]] == ACL_NEVER)) { $bitstring[$this->acl_options[$ary_key][$option_key]] = ACL_YES; } } else { $bitstring[$id] = ACL_NEVER; } } // Now this bitstring defines the permission setting for the current forum $f (or global setting) $bitstring = implode('', $bitstring); // The line number indicates the id, therefore we have to add empty lines for those ids not present $hold_str .= str_repeat("\n", $f - $last_f); // Convert bitstring for storage - we do not use binary/bytes because PHP's string functions are not fully binary safe for ($i = 0, $bit_length = strlen($bitstring); $i < $bit_length; $i += 31) { $hold_str .= str_pad(base_convert(str_pad(substr($bitstring, $i, 31), 31, 0, STR_PAD_RIGHT), 2, 36), 6, 0, STR_PAD_LEFT); } $last_f = $f; } unset($bitstring); $hold_str = rtrim($hold_str); } return $hold_str; } /** * Clear one or all users cached permission settings */ function acl_clear_prefetch($user_id = false) { global $db; $where_sql = ''; if ($user_id !== false) { $user_id = (!is_array($user_id)) ? $user_id = array((int) $user_id) : array_map('intval', $user_id); $where_sql = ' WHERE ' . $db->sql_in_set('user_id', $user_id); } $sql = 'UPDATE ' . USERS_TABLE . " SET user_permissions = '', user_perm_from = 0 $where_sql"; $db->sql_query($sql); return; } /** * Get assigned roles */ function acl_role_data($user_type, $role_type, $ug_id = false, $forum_id = false) { global $db; $roles = array(); $sql_id = ($user_type == 'user') ? 'user_id' : 'group_id'; $sql_ug = ($ug_id !== false) ? ((!is_array($ug_id)) ? "AND a.$sql_id = $ug_id" : 'AND ' . $db->sql_in_set("a.$sql_id", $ug_id)) : ''; $sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? "AND a.forum_id = $forum_id" : 'AND ' . $db->sql_in_set('a.forum_id', $forum_id)) : ''; // Grab assigned roles... $sql = 'SELECT a.auth_role_id, a.' . $sql_id . ', a.forum_id FROM ' . (($user_type == 'user') ? ACL_USERS_TABLE : ACL_GROUPS_TABLE) . ' a, ' . ACL_ROLES_TABLE . " r WHERE a.auth_role_id = r.role_id AND r.role_type = '" . $db->sql_escape($role_type) . "' $sql_ug $sql_forum ORDER BY r.role_order ASC"; $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $roles[$row[$sql_id]][$row['forum_id']] = $row['auth_role_id']; } $db->sql_freeresult($result); return $roles; } /** * Get raw acl data based on user/option/forum */ function acl_raw_data($user_id = false, $opts = false, $forum_id = false) { global $db; $sql_user = ($user_id !== false) ? ((!is_array($user_id)) ? 'user_id = ' . (int) $user_id : $db->sql_in_set('user_id', array_map('intval', $user_id))) : ''; $sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? 'AND a.forum_id = ' . (int) $forum_id : 'AND ' . $db->sql_in_set('a.forum_id', array_map('intval', $forum_id))) : ''; $sql_opts = ''; if ($opts !== false) { $this->build_auth_option_statement('ao.auth_option', $opts, $sql_opts); } $hold_ary = array(); // First grab user settings ... each user has only one setting for each // option ... so we shouldn't need any ACL_NEVER checks ... he says ... // Grab assigned roles... $sql = $db->sql_build_query('SELECT', array( 'SELECT' => 'ao.auth_option, a.auth_role_id, r.auth_setting as role_auth_setting, a.user_id, a.forum_id, a.auth_setting', 'FROM' => array( ACL_OPTIONS_TABLE => 'ao', ACL_USERS_TABLE => 'a' ), 'LEFT_JOIN' => array( array( 'FROM' => array(ACL_ROLES_DATA_TABLE => 'r'), 'ON' => 'a.auth_role_id = r.role_id' ) ), 'WHERE' => '(ao.auth_option_id = a.auth_option_id OR ao.auth_option_id = r.auth_option_id) ' . (($sql_user) ? 'AND a.' . $sql_user : '') . " $sql_forum $sql_opts", )); $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $setting = ($row['auth_role_id']) ? $row['role_auth_setting'] : $row['auth_setting']; $hold_ary[$row['user_id']][$row['forum_id']][$row['auth_option']] = $setting; } $db->sql_freeresult($result); // Now grab group settings ... ACL_NEVER overrides ACL_YES so act appropriatley $sql_ary[] = $db->sql_build_query('SELECT', array( 'SELECT' => 'ug.user_id, ao.auth_option, a.forum_id, a.auth_setting, a.auth_role_id, r.auth_setting as role_auth_setting', 'FROM' => array( USER_GROUP_TABLE => 'ug', ACL_OPTIONS_TABLE => 'ao', ACL_GROUPS_TABLE => 'a' ), 'LEFT_JOIN' => array( array( 'FROM' => array(ACL_ROLES_DATA_TABLE => 'r'), 'ON' => 'a.auth_role_id = r.role_id' ) ), 'WHERE' => 'ao.auth_option_id = a.auth_option_id AND a.group_id = ug.group_id AND ug.user_pending = 0 ' . (($sql_user) ? 'AND ug.' . $sql_user : '') . " $sql_forum $sql_opts" )); $sql_ary[] = $db->sql_build_query('SELECT', array( 'SELECT' => 'ug.user_id, a.forum_id, a.auth_setting, a.auth_role_id, r.auth_setting as role_auth_setting, ao.auth_option' , 'FROM' => array( ACL_OPTIONS_TABLE => 'ao' ), 'LEFT_JOIN' => array( array( 'FROM' => array(ACL_ROLES_DATA_TABLE => 'r'), 'ON' => 'r.auth_option_id = ao.auth_option_id' ), array( 'FROM' => array(ACL_GROUPS_TABLE => 'a'), 'ON' => 'a.auth_role_id = r.role_id' ), array( 'FROM' => array(USER_GROUP_TABLE => 'ug'), 'ON' => 'ug.group_id = a.group_id' ) ), 'WHERE' => 'ug.user_pending = 0 ' . (($sql_user) ? 'AND ug.' . $sql_user : '') . " $sql_forum $sql_opts" )); foreach ($sql_ary as $sql) { $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { if (!isset($hold_ary[$row['user_id']][$row['forum_id']][$row['auth_option']]) || (isset($hold_ary[$row['user_id']][$row['forum_id']][$row['auth_option']]) && $hold_ary[$row['user_id']][$row['forum_id']][$row['auth_option']] != ACL_NEVER)) { $setting = ($row['auth_role_id']) ? $row['role_auth_setting'] : $row['auth_setting']; $hold_ary[$row['user_id']][$row['forum_id']][$row['auth_option']] = $setting; // Check for existence of ACL_YES if an option got set to ACL_NEVER if ($setting == ACL_NEVER) { $flag = substr($row['auth_option'], 0, strpos($row['auth_option'], '_') + 1); if (isset($hold_ary[$row['user_id']][$row['forum_id']][$flag]) && $hold_ary[$row['user_id']][$row['forum_id']][$flag] == ACL_YES) { unset($hold_ary[$row['user_id']][$row['forum_id']][$flag]); if (in_array(ACL_YES, $hold_ary[$row['user_id']][$row['forum_id']])) { $hold_ary[$row['user_id']][$row['forum_id']][$flag] = ACL_YES; } } } } } $db->sql_freeresult($result); } return $hold_ary; } /** * Get raw user based permission settings */ function acl_user_raw_data($user_id = false, $opts = false, $forum_id = false) { global $db; $sql_user = ($user_id !== false) ? ((!is_array($user_id)) ? 'user_id = ' . (int) $user_id : $db->sql_in_set('user_id', array_map('intval', $user_id))) : ''; $sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? 'AND a.forum_id = ' . (int) $forum_id : 'AND ' . $db->sql_in_set('a.forum_id', array_map('intval', $forum_id))) : ''; $sql_opts = ''; if ($opts !== false) { $this->build_auth_option_statement('ao.auth_option', $opts, $sql_opts); } $hold_ary = array(); // Grab user settings... $sql = $db->sql_build_query('SELECT', array( 'SELECT' => 'ao.auth_option, a.auth_role_id, r.auth_setting as role_auth_setting, a.user_id, a.forum_id, a.auth_setting', 'FROM' => array( ACL_OPTIONS_TABLE => 'ao', ACL_USERS_TABLE => 'a' ), 'LEFT_JOIN' => array( array( 'FROM' => array(ACL_ROLES_DATA_TABLE => 'r'), 'ON' => 'a.auth_role_id = r.role_id' ), ), 'WHERE' => '(ao.auth_option_id = a.auth_option_id OR ao.auth_option_id = r.auth_option_id) ' . (($sql_user) ? 'AND a.' . $sql_user : '') . " $sql_forum $sql_opts", 'ORDER_BY' => 'a.forum_id, ao.auth_option' )); $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $setting = ($row['auth_role_id']) ? $row['role_auth_setting'] : $row['auth_setting']; $hold_ary[$row['user_id']][$row['forum_id']][$row['auth_option']] = $setting; } $db->sql_freeresult($result); return $hold_ary; } /** * Get raw group based permission settings */ function acl_group_raw_data($group_id = false, $opts = false, $forum_id = false) { global $db; $sql_group = ($group_id !== false) ? ((!is_array($group_id)) ? 'group_id = ' . (int) $group_id : $db->sql_in_set('group_id', array_map('intval', $group_id))) : ''; $sql_forum = ($forum_id !== false) ? ((!is_array($forum_id)) ? 'AND a.forum_id = ' . (int) $forum_id : 'AND ' . $db->sql_in_set('a.forum_id', array_map('intval', $forum_id))) : ''; $sql_opts = ''; if ($opts !== false) { $this->build_auth_option_statement('ao.auth_option', $opts, $sql_opts); } $hold_ary = array(); // Grab group settings... $sql = $db->sql_build_query('SELECT', array( 'SELECT' => 'a.group_id, ao.auth_option, a.forum_id, a.auth_setting, a.auth_role_id, r.auth_setting as role_auth_setting', 'FROM' => array( ACL_OPTIONS_TABLE => 'ao', ACL_GROUPS_TABLE => 'a' ), 'LEFT_JOIN' => array( array( 'FROM' => array(ACL_ROLES_DATA_TABLE => 'r'), 'ON' => 'a.auth_role_id = r.role_id' ), ), 'WHERE' => '(ao.auth_option_id = a.auth_option_id OR ao.auth_option_id = r.auth_option_id) ' . (($sql_group) ? 'AND a.' . $sql_group : '') . " $sql_forum $sql_opts", 'ORDER_BY' => 'a.forum_id, ao.auth_option' )); $result = $db->sql_query($sql); while ($row = $db->sql_fetchrow($result)) { $setting = ($row['auth_role_id']) ? $row['role_auth_setting'] : $row['auth_setting']; $hold_ary[$row['group_id']][$row['forum_id']][$row['auth_option']] = $setting; } $db->sql_freeresult($result); return $hold_ary; } /** * Authentication plug-ins is largely down to Sergey Kanareykin, our thanks to him. */ function login($username, $password, $autologin = false, $viewonline = 1, $admin = 0) { global $board_config, $db, $user, $phpbb_root_path, $phpEx; $method = trim(basename($board_config['auth_method'])); include_once($phpbb_root_path . 'includes/auth/auth_' . $method . '.' . $phpEx); $method = 'login_' . $method; if (function_exists($method)) { $login = $method($username, $password); // If the auth module wants us to create an empty profile do so and then treat the status as LOGIN_SUCCESS if ($login['status'] == LOGIN_SUCCESS_CREATE_PROFILE) { // we are going to use the user_add function so include functions_user.php if it wasn't defined yet if (!function_exists('user_add')) { include($phpbb_root_path . 'includes/functions_user.' . $phpEx); } user_add($login['user_row'], (isset($login['cp_data'])) ? $login['cp_data'] : false); $sql = 'SELECT user_id, username, user_password, user_passchg, user_email, user_type FROM ' . USERS_TABLE . " WHERE username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'"; $result = $db->sql_query($sql); $row = $db->sql_fetchrow($result); $db->sql_freeresult($result); if (!$row) { return array( 'status' => LOGIN_ERROR_EXTERNAL_AUTH, 'error_msg' => 'AUTH_NO_PROFILE_CREATED', 'user_row' => array('user_id' => ANONYMOUS), ); } $login = array( 'status' => LOGIN_SUCCESS, 'error_msg' => false, 'user_row' => $row, ); } // If login succeeded, we will log the user in... else we pass the login array through... if ($login['status'] == LOGIN_SUCCESS) { $old_session_id = $user->session_id; if ($admin) { global $SID, $_SID; $cookie_expire = time() - 31536000; $user->set_cookie('u', '', $cookie_expire); $user->set_cookie('sid', '', $cookie_expire); unset($cookie_expire); $SID = '?sid='; $user->session_id = $_SID = ''; } $result = $user->session_create($login['user_row']['user_id'], $admin, $autologin, $viewonline); // Successful session creation if ($result === true) { // If admin re-authentication we remove the old session entry because a new one has been created... if ($admin) { // the login array is used because the user ids do not differ for re-authentication $sql = 'DELETE FROM ' . SESSIONS_TABLE . " WHERE session_id = '" . $db->sql_escape($old_session_id) . "' AND session_user_id = {$login['user_row']['user_id']}"; $db->sql_query($sql); } return array( 'status' => LOGIN_SUCCESS, 'error_msg' => false, 'user_row' => $login['user_row'], ); } return array( 'status' => LOGIN_BREAK, 'error_msg' => $result, 'user_row' => $login['user_row'], ); } return $login; } trigger_error('Authentication method not found', E_USER_ERROR); } /** * Fill auth_option statement for later querying based on the supplied options */ function build_auth_option_statement($key, $auth_options, &$sql_opts) { global $db; if (!is_array($auth_options)) { if (strpos($auth_options, '%') !== false) { $sql_opts = "AND $key " . $db->sql_like_expression(str_replace('%', $db->any_char, $auth_options)); } else { $sql_opts = "AND $key = '" . $db->sql_escape($auth_options) . "'"; } } else { $is_like_expression = false; foreach ($auth_options as $option) { if (strpos($option, '%') !== false) { $is_like_expression = true; } } if (!$is_like_expression) { $sql_opts = 'AND ' . $db->sql_in_set($key, $auth_options); } else { $sql = array(); foreach ($auth_options as $option) { if (strpos($option, '%') !== false) { $sql[] = $key . ' ' . $db->sql_like_expression(str_replace('%', $db->any_char, $option)); } else { $sql[] = $key . " = '" . $db->sql_escape($option) . "'"; } } $sql_opts = 'AND (' . implode(' OR ', $sql) . ')'; } } } } ?> --- NEW FILE: constants.php --- <?php /** * * @package phpBB3 * @version $Id: constants.php,v 1.1 2007/09/09 16:51:32 jonohlsson Exp $ * @copyright (c) 2005 phpBB Group * @license http://opensource.org/licenses/gpl-license.php GNU Public License * */ /** */ // User related define('ANONYMOUS', 1); define('USER_ACTIVATION_NONE', 0); define('USER_ACTIVATION_SELF', 1); define('USER_ACTIVATION_ADMIN', 2); define('USER_ACTIVATION_DISABLE', 3); define('AVATAR_UPLOAD', 1); define('AVATAR_REMOTE', 2); define('AVATAR_GALLERY', 3); define('USER_NORMAL', 0); define('USER_INACTIVE', 1); define('USER_IGNORE', 2); define('USER_FOUNDER', 3); define('INACTIVE_REGISTER', 1); define('INACTIVE_PROFILE', 2); define('INACTIVE_MANUAL', 3); define('INACTIVE_REMIND', 4); // ACL define('ACL_NEVER', 0); define('ACL_YES', 1); define('ACL_NO', -1); // Login error codes define('LOGIN_CONTINUE', 1); define('LOGIN_BREAK', 2); define('LOGIN_SUCCESS', 3); define('LOGIN_SUCCESS_CREATE_PROFILE', 20); define('LOGIN_ERROR_USERNAME', 10); define('LOGIN_ERROR_PASSWORD', 11); define('LOGIN_ERROR_ACTIVE', 12); define('LOGIN_ERROR_ATTEMPTS', 13); define('LOGIN_ERROR_EXTERNAL_AUTH', 14); define('LOGIN_ERROR_PASSWORD_CONVERT', 15); // Group settings define('GROUP_OPEN', 0); define('GROUP_CLOSED', 1); define('GROUP_HIDDEN', 2); define('GROUP_SPECIAL', 3); define('GROUP_FREE', 4); // Forum/Topic states define('FORUM_CAT', 0); define('FORUM_POST', 1); define('FORUM_LINK', 2); define('ITEM_UNLOCKED', 0); define('ITEM_LOCKED', 1); define('ITEM_MOVED', 2); // Forum Flags define('FORUM_FLAG_LINK_TRACK', 1); define('FORUM_FLAG_PRUNE_POLL', 2); define('FORUM_FLAG_PRUNE_ANNOUNCE', 4); define('FORUM_FLAG_PRUNE_STICKY', 8); define('FORUM_FLAG_ACTIVE_TOPICS', 16); define('FORUM_FLAG_POST_REVIEW', 32); // Optional text flags define('OPTION_FLAG_BBCODE', 1); define('OPTION_FLAG_SMILIES', 2); define('OPTION_FLAG_LINKS', 4); // Topic types define('POST_NORMAL', 0); define('POST_STICKY', 1); define('POST_ANNOUNCE', 2); define('POST_GLOBAL', 3); // Lastread types define('TRACK_NORMAL', 0); define('TRACK_POSTED', 1); // Notify methods define('NOTIFY_EMAIL', 0); define('NOTIFY_IM', 1); define('NOTIFY_BOTH', 2); // Email Priority Settings define('MAIL_LOW_PRIORITY', 4); define('MAIL_NORMAL_PRIORITY', 3); define('MAIL_HIGH_PRIORITY', 2); // Log types define('LOG_ADMIN', 0); define('LOG_MOD', 1); define('LOG_CRITICAL', 2); define('LOG_USERS', 3); // Private messaging - Do NOT change these values define('PRIVMSGS_HOLD_BOX', -4); define('PRIVMSGS_NO_BOX', -3); define('PRIVMSGS_OUTBOX', -2); define('PRIVMSGS_SENTBOX', -1); define('PRIVMSGS_INBOX', 0); // Full Folder Actions define('FULL_FOLDER_NONE', -3); define('FULL_FOLDER_DELETE', -2); define('FULL_FOLDER_HOLD', -1); // Download Modes - Attachments define('INLINE_LINK', 1); // This mode is only used internally to allow modders extending the attachment functionality define('PHYSICAL_LINK', 2); // Confirm types define('CONFIRM_REG', 1); define('CONFIRM_LOGIN', 2); define('CONFIRM_POST', 3); // Categories - Attachments define('ATTACHMENT_CATEGORY_NONE', 0); define('ATTACHMENT_CATEGORY_IMAGE', 1); // Inline Images define('ATTACHMENT_CATEGORY_WM', 2); // Windows Media Files - Streaming define('ATTACHMENT_CATEGORY_RM', 3); // Real Media Files - Streaming define('ATTACHMENT_CATEGORY_THUMB', 4); // Not used within the database, only while displaying posts define('ATTACHMENT_CATEGORY_FLASH', 5); // Flash/SWF files define('ATTACHMENT_CATEGORY_QUICKTIME', 6); // Quicktime/Mov files // BBCode UID length define('BBCODE_UID_LEN', 5); // Number of core BBCodes define('NUM_CORE_BBCODES', 12); // Magic url types define('MAGIC_URL_EMAIL', 1); define('MAGIC_URL_FULL', 2); define('MAGIC_URL_LOCAL', 3); define('MAGIC_URL_WWW', 4); // Profile Field Types define('FIELD_INT', 1); define('FIELD_STRING', 2); define('FIELD_TEXT', 3); define('FIELD_BOOL', 4); define('FIELD_DROPDOWN', 5); define('FIELD_DATE', 6); // Additional constants // Table names define('ACL_GROUPS_TABLE', $table_prefix . 'acl_groups'); define('ACL_OPTIONS_TABLE', $table_prefix . 'acl_options'); define('ACL_ROLES_DATA_TABLE', $table_prefix . 'acl_roles_data'); define('ACL_ROLES_TABLE', $table_prefix . 'acl_roles'); define('ACL_USERS_TABLE', $table_prefix . 'acl_users'); define('ATTACHMENTS_TABLE', $table_prefix . 'attachments'); define('BANLIST_TABLE', $table_prefix . 'banlist'); define('BBCODES_TABLE', $table_prefix . 'bbcodes'); define('BOOKMARKS_TABLE', $table_prefix . 'bookmarks'); define('BOTS_TABLE', $table_prefix . 'bots'); define('CONFIG_TABLE', $table_prefix . 'config'); define('CONFIRM_TABLE', $table_prefix . 'confirm'); define('DISALLOW_TABLE', $table_prefix . 'disallow'); define('DRAFTS_TABLE', $table_prefix . 'drafts'); define('EXTENSIONS_TABLE', $table_prefix . 'extensions'); define('EXTENSION_GROUPS_TABLE', $table_prefix . 'extension_groups'); define('FORUMS_TABLE', $table_prefix . 'forums'); define('FORUMS_ACCESS_TABLE', $table_prefix . 'forums_access'); define('FORUMS_TRACK_TABLE', $table_prefix . 'forums_track'); define('FORUMS_WATCH_TABLE', $table_prefix . 'forums_watch'); define('GROUPS_TABLE', $table_prefix . 'groups'); define('ICONS_TABLE', $table_prefix . 'icons'); define('LANG_TABLE', $table_prefix . 'lang'); define('LOG_TABLE', $table_prefix . 'log'); define('MODERATOR_CACHE_TABLE', $table_prefix . 'moderator_cache'); define('MODULES_TABLE', $table_prefix . 'modules'); define('POLL_OPTIONS_TABLE', $table_prefix . 'poll_options'); define('POLL_VOTES_TABLE', $table_prefix . 'poll_votes'); define('POSTS_TABLE', $table_prefix . 'posts'); define('PRIVMSGS_TABLE', $table_prefix . 'privmsgs'); define('PRIVMSGS_FOLDER_TABLE', $table_prefix . 'privmsgs_folder'); define('PRIVMSGS_RULES_TABLE', $table_prefix . 'privmsgs_rules'); define('PRIVMSGS_TO_TABLE', $table_prefix . 'privmsgs_to'); define('PROFILE_FIELDS_TABLE', $table_prefix . 'profile_fields'); define('PROFILE_FIELDS_DATA_TABLE', $table_prefix . 'profile_fields_data'); define('PROFILE_FIELDS_LANG_TABLE', $table_prefix . 'profile_fields_lang'); define('PROFILE_LANG_TABLE', $table_prefix . 'profile_lang'); define('RANKS_TABLE', $table_prefix . 'ranks'); define('REPORTS_TABLE', $table_prefix . 'reports'); define('REPORTS_REASONS_TABLE', $table_prefix . 'reports_reasons'); define('SEARCH_RESULTS_TABLE', $table_prefix . 'search_results'); define('SEARCH_WORDLIST_TABLE', $table_prefix . 'search_wordlist'); define('SEARCH_WORDMATCH_TABLE', $table_prefix . 'search_wordmatch'); define('SESSIONS_TABLE', $table_prefix . 'sessions'); define('SESSIONS_KEYS_TABLE', $table_prefix . 'sessions_keys'); define('SITELIST_TABLE', $table_prefix . 'sitelist'); define('SMILIES_TABLE', $table_prefix . 'smilies'); define('STYLES_TABLE', $table_prefix . 'styles'); define('STYLES_TEMPLATE_TABLE', $table_prefix . 'styles_template'); define('STYLES_TEMPLATE_DATA_TABLE',$table_prefix . 'styles_template_data'); define('STYLES_THEME_TABLE', $table_prefix . 'styles_theme'); define('STYLES_IMAGESET_TABLE', $table_prefix . 'styles_imageset'); define('STYLES_IMAGESET_DATA_TABLE',$table_prefix . 'styles_imageset_data'); define('TOPICS_TABLE', $table_prefix . 'topics'); define('TOPICS_POSTED_TABLE', $table_prefix . 'topics_posted'); define('TOPICS_TRACK_TABLE', $table_prefix . 'topics_track'); define('TOPICS_WATCH_TABLE', $table_prefix . 'topics_watch'); define('USER_GROUP_TABLE', $table_prefix . 'user_group'); define('USERS_TABLE', $table_prefix . 'users'); define('WARNINGS_TABLE', $table_prefix . 'warnings'); define('WORDS_TABLE', $table_prefix . 'words'); define('ZEBRA_TABLE', $table_prefix . 'zebra'); // Additional tables ?> --- NEW FILE: session.php --- <?php /** * * @package phpBB3 * @version $Id: session.php,v 1.1 2007/09/09 16:51:32 jonohlsson Exp $ * @copyright (c) 2005 phpBB Group * @license http://opensource.org/licenses/gpl-license.php GNU Public License * */ /** * Modifications: * $config -> $board_config * $cache = new mx_nothing(); to disable bots() * removed '?' in the returned $SID string */ class mx_nothing { function obtain_bots() [...1940 lines suppressed...] return $default_lang; } /** * Get option bit field from user options */ function optionget($key, $data = false) { if (!isset($this->keyvalues[$key])) { $var = ($data) ? $data : $this->data['user_options']; $this->keyvalues[$key] = ($var & 1 << $this->keyoptions[$key]) ? true : false; } return $this->keyvalues[$key]; } } ?> |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:51:40
|
Update of /cvsroot/mxbb/core/includes/sessions/phpbb2 In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10517/phpbb2 Added Files: auth.php constants.php login.php session.php Log Message: Ok, massive update for 2.9.x. --- NEW FILE: login.php --- <?php /** * * @package mxBB Portal Core * @version $Id: login.php,v 1.1 2007/09/09 16:51:31 jonohlsson Exp $ * @copyright (c) 2002-2006 mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * @link http://www.mxbb.net * */ if ( !defined('IN_PORTAL') ) { die("Hacking attempt"); } if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && (!$userdata['session_logged_in'] || isset($HTTP_POST_VARS['admin'])) ) { $username = isset($HTTP_POST_VARS['username']) ? phpBB2::phpbb_clean_username($HTTP_POST_VARS['username']) : ''; $password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : ''; $sql = "SELECT user_id, username, user_password, user_active, user_level, user_login_tries, user_last_login_try FROM " . USERS_TABLE . " WHERE username = '" . str_replace("\\'", "''", $username) . "'"; if ( !($result = $db->sql_query($sql) ) ) { mx_message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql); } if( $row = $db->sql_fetchrow($result) ) { if( $row['user_level'] != ADMIN && $board_config['board_disable'] ) { mx_redirect(mx_append_sid("index.$phpEx", false)); } else { // If the last login is more than x minutes ago, then reset the login tries/time if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $row['user_last_login_try'] < (time() - ($board_config['login_reset_time'] * 60))) { $db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']); $row['user_last_login_try'] = $row['user_login_tries'] = 0; } // Check to see if user is allowed to login again... if his tries are exceeded if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $board_config['max_login_attempts'] && $row['user_last_login_try'] >= (time() - ($board_config['login_reset_time'] * 60)) && $row['user_login_tries'] >= $board_config['max_login_attempts'] && $userdata['user_level'] != ADMIN) { mx_message_die(GENERAL_MESSAGE, sprintf($lang['Login_attempts_exceeded'], $board_config['max_login_attempts'], $board_config['login_reset_time'])); } if( md5($password) == $row['user_password'] && $row['user_active'] ) { $autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0; $admin = (isset($HTTP_POST_VARS['admin'])) ? 1 : 0; $session_id = $mx_user->mx_session_create($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin, $admin); // Reset login tries $db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']); if( $session_id ) { $fromurl = ( !empty($HTTP_REFERER) ) ? str_replace('&', '&', htmlspecialchars($HTTP_REFERER)) : "index.$phpEx"; $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : $fromurl; mx_redirect(mx_append_sid($url, false, false, $session_id)); } else { mx_message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__); } } // Only store a failed login attempt for an active user - inactive users can't login even with a correct password elseif( $row['user_active'] ) { // Save login tries and last login if ($row['user_id'] != ANONYMOUS) { $sql = 'UPDATE ' . USERS_TABLE . ' SET user_login_tries = user_login_tries + 1, user_last_login_try = ' . time() . ' WHERE user_id = ' . $row['user_id']; $db->sql_query($sql); } $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : ''; $redirect = str_replace('?', '&', $redirect); if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r")) { mx_message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.'); } $template->assign_vars(array( 'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">") ); $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . mx_append_sid("index.$phpEx") . '">', '</a>'); mx_message_die(GENERAL_MESSAGE, $message); } } } else { $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : ""; $redirect = str_replace("?", "&", $redirect); if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r")) { mx_message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.'); } $template->assign_vars(array( 'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">") ); $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . mx_append_sid("index.$phpEx") . '">', '</a>'); mx_message_die(GENERAL_MESSAGE, $message); } } else if( ( isset($HTTP_GET_VARS['logout']) || isset($HTTP_POST_VARS['logout']) ) && $userdata['session_logged_in'] ) { // session id check if ($sid == '' || $sid != $userdata['session_id']) { mx_message_die(GENERAL_ERROR, 'Invalid_session'); } if( $userdata['session_logged_in'] ) { $mx_user->mx_session_kill($userdata['session_id'], $userdata['user_id']); } if (!empty($HTTP_POST_VARS['redirect']) || !empty($HTTP_GET_VARS['redirect'])) { $fromurl = ( !empty($HTTP_REFERER) ) ? str_replace('&', '&', htmlspecialchars($HTTP_REFERER)) : "index.$phpEx"; $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : $fromurl; mx_redirect(mx_append_sid($url, false, false, $session_id)); } else { mx_redirect(mx_append_sid("index.$phpEx", false)); } } else { $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx"; mx_redirect(mx_append_sid($url, false)); } ?> --- NEW FILE: auth.php --- <?php /** * * @package Auth * @version $Id: auth.php,v 1.1 2007/09/09 16:51:31 jonohlsson Exp $ * @copyright (c) 2002-2006 mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * @link http://www.mxbb.net * */ if ( !defined( 'IN_PORTAL' ) ) { die( "Hacking attempt" ); } /** * Permission/Auth class for phpBB2 forums * @package mxBB3 */ class phpbb_auth_base { function auth($type, $forum_id, $userdata, $f_access = '') { global $db, $lang; switch( $type ) { case AUTH_ALL: $a_sql = 'a.auth_view, a.auth_read, a.auth_post, a.auth_reply, a.auth_edit, a.auth_delete, a.auth_sticky, a.auth_announce, a.auth_vote, a.auth_pollcreate'; $auth_fields = array('auth_view', 'auth_read', 'auth_post', 'auth_reply', 'auth_edit', 'auth_delete', 'auth_sticky', 'auth_announce', 'auth_vote', 'auth_pollcreate'); break; case AUTH_VIEW: $a_sql = 'a.auth_view'; $auth_fields = array('auth_view'); break; case AUTH_READ: $a_sql = 'a.auth_read'; $auth_fields = array('auth_read'); break; case AUTH_POST: $a_sql = 'a.auth_post'; $auth_fields = array('auth_post'); break; case AUTH_REPLY: $a_sql = 'a.auth_reply'; $auth_fields = array('auth_reply'); break; case AUTH_EDIT: $a_sql = 'a.auth_edit'; $auth_fields = array('auth_edit'); break; case AUTH_DELETE: $a_sql = 'a.auth_delete'; $auth_fields = array('auth_delete'); break; case AUTH_ANNOUNCE: $a_sql = 'a.auth_announce'; $auth_fields = array('auth_announce'); break; case AUTH_STICKY: $a_sql = 'a.auth_sticky'; $auth_fields = array('auth_sticky'); break; case AUTH_POLLCREATE: $a_sql = 'a.auth_pollcreate'; $auth_fields = array('auth_pollcreate'); break; case AUTH_VOTE: $a_sql = 'a.auth_vote'; $auth_fields = array('auth_vote'); break; case AUTH_ATTACH: break; default: break; } // // If f_access has been passed, or auth is needed to return an array of forums // then we need to pull the auth information on the given forum (or all forums) // if ( empty($f_access) ) { $forum_match_sql = ( $forum_id != AUTH_LIST_ALL ) ? "WHERE a.forum_id = $forum_id" : ''; $sql = "SELECT a.forum_id, $a_sql FROM " . FORUMS_TABLE . " a $forum_match_sql"; if ( !($result = $db->sql_query($sql)) ) { //mx_message_die(GENERAL_ERROR, 'Failed obtaining forum access control lists', '', __LINE__, __FILE__, $sql); } $sql_fetchrow = ( $forum_id != AUTH_LIST_ALL ) ? 'sql_fetchrow' : 'sql_fetchrowset'; if ( !($f_access = $db->$sql_fetchrow($result)) ) { $db->sql_freeresult($result); return array(); } $db->sql_freeresult($result); } // // If the user isn't logged on then all we need do is check if the forum // has the type set to ALL, if yes they are good to go, if not then they // are denied access // $u_access = array(); if ( $userdata['session_logged_in'] ) { $forum_match_sql = ( $forum_id != AUTH_LIST_ALL ) ? "AND a.forum_id = $forum_id" : ''; $sql = "SELECT a.forum_id, $a_sql, a.auth_mod FROM " . AUTH_ACCESS_TABLE . " a, " . USER_GROUP_TABLE . " ug WHERE ug.user_id = ".$userdata['user_id']. " AND ug.user_pending = 0 AND a.group_id = ug.group_id $forum_match_sql"; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(GENERAL_ERROR, 'Failed obtaining forum access control lists', '', __LINE__, __FILE__, $sql); } if ( $row = $db->sql_fetchrow($result) ) { do { if ( $forum_id != AUTH_LIST_ALL) { $u_access[] = $row; } else { $u_access[$row['forum_id']][] = $row; } } while( $row = $db->sql_fetchrow($result) ); } $db->sql_freeresult($result); } $is_admin = ( $userdata['user_level'] == ADMIN && $userdata['session_logged_in'] ) ? TRUE : 0; $auth_user = array(); for($i = 0; $i < count($auth_fields); $i++) { $key = $auth_fields[$i]; // // If the user is logged on and the forum type is either ALL or REG then the user has access // // If the type if ACL, MOD or ADMIN then we need to see if the user has specific permissions // to do whatever it is they want to do ... to do this we pull relevant information for the // user (and any groups they belong to) // // Now we compare the users access level against the forums. We assume here that a moderator // and admin automatically have access to an ACL forum, similarly we assume admins meet an // auth requirement of MOD // if ( $forum_id != AUTH_LIST_ALL ) { $value = $f_access[$key]; switch( $value ) { case AUTH_ALL: $auth_user[$key] = TRUE; $auth_user[$key . '_type'] = $lang['Auth_Anonymous_Users']; break; case AUTH_REG: $auth_user[$key] = ( $userdata['session_logged_in'] ) ? TRUE : 0; $auth_user[$key . '_type'] = $lang['Auth_Registered_Users']; break; case AUTH_ACL: $auth_user[$key] = ( $userdata['session_logged_in'] ) ? $this->auth_check_user(AUTH_ACL, $key, $u_access, $is_admin) : 0; $auth_user[$key . '_type'] = $lang['Auth_Users_granted_access']; break; case AUTH_MOD: $auth_user[$key] = ( $userdata['session_logged_in'] ) ? $this->auth_check_user(AUTH_MOD, 'auth_mod', $u_access, $is_admin) : 0; $auth_user[$key . '_type'] = $lang['Auth_Moderators']; break; case AUTH_ADMIN: $auth_user[$key] = $is_admin; $auth_user[$key . '_type'] = $lang['Auth_Administrators']; break; default: $auth_user[$key] = 0; break; } } else { for($k = 0; $k < count($f_access); $k++) { $value = $f_access[$k][$key]; $f_forum_id = $f_access[$k]['forum_id']; $u_access[$f_forum_id] = isset($u_access[$f_forum_id]) ? $u_access[$f_forum_id] : array(); switch( $value ) { case AUTH_ALL: $auth_user[$f_forum_id][$key] = TRUE; $auth_user[$f_forum_id][$key . '_type'] = $lang['Auth_Anonymous_Users']; break; case AUTH_REG: $auth_user[$f_forum_id][$key] = ( $userdata['session_logged_in'] ) ? TRUE : 0; $auth_user[$f_forum_id][$key . '_type'] = $lang['Auth_Registered_Users']; break; case AUTH_ACL: $auth_user[$f_forum_id][$key] = ( $userdata['session_logged_in'] ) ? $this->auth_check_user(AUTH_ACL, $key, $u_access[$f_forum_id], $is_admin) : 0; $auth_user[$f_forum_id][$key . '_type'] = $lang['Auth_Users_granted_access']; break; case AUTH_MOD: $auth_user[$f_forum_id][$key] = ( $userdata['session_logged_in'] ) ? $this->auth_check_user(AUTH_MOD, 'auth_mod', $u_access[$f_forum_id], $is_admin) : 0; $auth_user[$f_forum_id][$key . '_type'] = $lang['Auth_Moderators']; break; case AUTH_ADMIN: $auth_user[$f_forum_id][$key] = $is_admin; $auth_user[$f_forum_id][$key . '_type'] = $lang['Auth_Administrators']; break; default: $auth_user[$f_forum_id][$key] = 0; break; } } } } // // Is user a moderator? // if ( $forum_id != AUTH_LIST_ALL ) { $auth_user['auth_mod'] = ( $userdata['session_logged_in'] ) ? $this->auth_check_user(AUTH_MOD, 'auth_mod', $u_access, $is_admin) : 0; } else { for($k = 0; $k < count($f_access); $k++) { $f_forum_id = $f_access[$k]['forum_id']; $u_access[$f_forum_id] = isset($u_access[$f_forum_id]) ? $u_access[$f_forum_id] : array(); $auth_user[$f_forum_id]['auth_mod'] = ( $userdata['session_logged_in'] ) ? $this->auth_check_user(AUTH_MOD, 'auth_mod', $u_access[$f_forum_id], $is_admin) : 0; } } return $auth_user; } function auth_check_user($type, $key, $u_access, $is_admin) { $auth_user = 0; if ( count($u_access) ) { for($j = 0; $j < count($u_access); $j++) { $result = 0; switch($type) { case AUTH_ACL: $result = $u_access[$j][$key]; case AUTH_MOD: $result = $result || $u_access[$j]['auth_mod']; case AUTH_ADMIN: $result = $result || $is_admin; break; } $auth_user = $auth_user || $result; } } else { $auth_user = $is_admin; } return $auth_user; } } ?> --- NEW FILE: constants.php --- <?php /*************************************************************************** * constants.php * ------------------- * begin : Saturday', Feb 13', 2001 * copyright : ('C) 2001 The phpBB Group * email : su...@ph... * * $Id: constants.php,v 1.1 2007/09/09 16:51:31 jonohlsson Exp $ * * ***************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License', or * ('at your option) any later version. * ***************************************************************************/ if ( !defined('IN_PHPBB') ) { die("Hacking attempt"); } // Debug Level //define('DEBUG', 1); // Debugging on define('DEBUG', 1); // Debugging off // User Levels <- Do not change the values of USER or ADMIN define('DELETED', -1); define('ANONYMOUS', -1); define('USER', 0); define('ADMIN', 1); define('MOD', 2); // User related define('USER_ACTIVATION_NONE', 0); define('USER_ACTIVATION_SELF', 1); define('USER_ACTIVATION_ADMIN', 2); define('USER_AVATAR_NONE', 0); define('USER_AVATAR_UPLOAD', 1); define('USER_AVATAR_REMOTE', 2); define('USER_AVATAR_GALLERY', 3); // Group settings define('GROUP_OPEN', 0); define('GROUP_CLOSED', 1); define('GROUP_HIDDEN', 2); // Forum state define('FORUM_UNLOCKED', 0); define('FORUM_LOCKED', 1); // Topic status define('TOPIC_UNLOCKED', 0); define('TOPIC_LOCKED', 1); define('TOPIC_MOVED', 2); define('TOPIC_WATCH_NOTIFIED', 1); define('TOPIC_WATCH_UN_NOTIFIED', 0); // Topic types define('POST_NORMAL', 0); define('POST_STICKY', 1); define('POST_ANNOUNCE', 2); define('POST_GLOBAL_ANNOUNCE', 3); // SQL codes define('BEGIN_TRANSACTION', 1); define('END_TRANSACTION', 2); // Error codes define('GENERAL_MESSAGE', 200); define('GENERAL_ERROR', 202); define('CRITICAL_MESSAGE', 203); define('CRITICAL_ERROR', 204); // Private messaging define('PRIVMSGS_READ_MAIL', 0); define('PRIVMSGS_NEW_MAIL', 1); define('PRIVMSGS_SENT_MAIL', 2); define('PRIVMSGS_SAVED_IN_MAIL', 3); define('PRIVMSGS_SAVED_OUT_MAIL', 4); define('PRIVMSGS_UNREAD_MAIL', 5); // URL PARAMETERS define('POST_TOPIC_URL', 't'); define('POST_CAT_URL', 'c'); define('POST_FORUM_URL', 'f'); define('POST_USERS_URL', 'u'); define('POST_POST_URL', 'p'); define('POST_GROUPS_URL', 'g'); // Session parameters define('SESSION_METHOD_COOKIE', 100); define('SESSION_METHOD_GET', 101); // Page numbers for session handling define('PAGE_INDEX', 0); define('PAGE_LOGIN', -1); define('PAGE_SEARCH', -2); define('PAGE_REGISTER', -3); define('PAGE_PROFILE', -4); define('PAGE_VIEWONLINE', -6); define('PAGE_VIEWMEMBERS', -7); define('PAGE_FAQ', -8); define('PAGE_POSTING', -9); define('PAGE_PRIVMSGS', -10); define('PAGE_GROUPCP', -11); define('PAGE_TOPIC_OFFSET', 5000); // Auth settings define('AUTH_LIST_ALL', 0); define('AUTH_ALL', 0); define('AUTH_REG', 1); define('AUTH_ACL', 2); define('AUTH_MOD', 3); define('AUTH_ADMIN', 5); define('AUTH_VIEW', 1); define('AUTH_READ', 2); define('AUTH_POST', 3); define('AUTH_REPLY', 4); define('AUTH_EDIT', 5); define('AUTH_DELETE', 6); define('AUTH_ANNOUNCE', 7); define('AUTH_STICKY', 8); define('AUTH_POLLCREATE', 9); define('AUTH_VOTE', 10); define('AUTH_ATTACH', 11); // Table names define('CONFIRM_TABLE', $table_prefix.'confirm'); define('AUTH_ACCESS_TABLE', $table_prefix.'auth_access'); define('BANLIST_TABLE', $table_prefix.'banlist'); define('CATEGORIES_TABLE', $table_prefix.'categories'); define('CONFIG_TABLE', $table_prefix.'config'); define('DISALLOW_TABLE', $table_prefix.'disallow'); define('FORUMS_TABLE', $table_prefix.'forums'); define('GROUPS_TABLE', $table_prefix.'groups'); define('POSTS_TABLE', $table_prefix.'posts'); define('POSTS_TEXT_TABLE', $table_prefix.'posts_text'); define('PRIVMSGS_TABLE', $table_prefix.'privmsgs'); define('PRIVMSGS_TEXT_TABLE', $table_prefix.'privmsgs_text'); define('PRIVMSGS_IGNORE_TABLE', $table_prefix.'privmsgs_ignore'); define('PRUNE_TABLE', $table_prefix.'forum_prune'); define('RANKS_TABLE', $table_prefix.'ranks'); define('SEARCH_TABLE', $table_prefix.'search_results'); define('SEARCH_WORD_TABLE', $table_prefix.'search_wordlist'); define('SEARCH_MATCH_TABLE', $table_prefix.'search_wordmatch'); define('SESSIONS_TABLE', $table_prefix.'sessions'); define('SESSIONS_KEYS_TABLE', $table_prefix.'sessions_keys'); define('SMILIES_TABLE', $table_prefix.'smilies'); define('THEMES_TABLE', $table_prefix.'themes'); define('THEMES_NAME_TABLE', $table_prefix.'themes_name'); define('TOPICS_TABLE', $table_prefix.'topics'); define('TOPICS_WATCH_TABLE', $table_prefix.'topics_watch'); define('USER_GROUP_TABLE', $table_prefix.'user_group'); define('USERS_TABLE', $table_prefix.'users'); define('WORDS_TABLE', $table_prefix.'words'); define('VOTE_DESC_TABLE', $table_prefix.'vote_desc'); define('VOTE_RESULTS_TABLE', $table_prefix.'vote_results'); define('VOTE_USERS_TABLE', $table_prefix.'vote_voters'); ?> --- NEW FILE: session.php --- <?php /*************************************************************************** * sessions.php * ------------------- * begin : Saturday, Feb 13, 2001 * copyright : (C) 2001 The phpBB Group * email : su...@ph... * * $Id: session.php,v 1.1 2007/09/09 16:51:31 jonohlsson Exp $ * * ***************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * ***************************************************************************/ /** * Modifications: * * Class wrapper * mx_dss_rand */ /** * Session class * @package mxBB3 */ class session { var $cookie_data = array(); var $page = array(); var $data = array(); var $browser = ''; var $forwarded_for = ''; var $host = ''; var $session_id = ''; var $ip = ''; var $load = 0; var $time_now = 0; var $update_session_page = true; // // Adds/updates a new session to the database for the given userid. // Returns the new session ID on success. // function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0) { global $db, $board_config; global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID; $cookiename = $board_config['cookie_name']; $cookiepath = $board_config['cookie_path']; $cookiedomain = $board_config['cookie_domain']; $cookiesecure = $board_config['cookie_secure']; if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ) { $session_id = isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : ''; $sessiondata = isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array(); $sessionmethod = SESSION_METHOD_COOKIE; } else { $sessiondata = array(); $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : ''; $sessionmethod = SESSION_METHOD_GET; } // if (!preg_match('/^[A-Za-z0-9]*$/', $session_id)) { $session_id = ''; } $page_id = (int) $page_id; $last_visit = 0; $current_time = time(); // // Are auto-logins allowed? // If allow_autologin is not set or is true then they are // (same behaviour as old 2.0.x session code) // if (isset($board_config['allow_autologin']) && !$board_config['allow_autologin']) { $enable_autologin = $sessiondata['autologinid'] = false; } // // First off attempt to join with the autologin value if we have one // If not, just use the user_id value // $userdata = array(); if ($user_id != ANONYMOUS) { if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '' && $user_id) { $sql = 'SELECT u.* FROM ' . USERS_TABLE . ' u, ' . SESSIONS_KEYS_TABLE . ' k WHERE u.user_id = ' . (int) $user_id . " AND u.user_active = 1 AND k.user_id = u.user_id AND k.key_id = '" . md5($sessiondata['autologinid']) . "'"; if (!($result = $db->sql_query($sql))) { mx_message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql); } $userdata = $db->sql_fetchrow($result); $db->sql_freeresult($result); $enable_autologin = $login = 1; } else if (!$auto_create) { $sessiondata['autologinid'] = ''; $sessiondata['userid'] = $user_id; $sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . (int) $user_id . ' AND user_active = 1'; if (!($result = $db->sql_query($sql))) { mx_message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql); } $userdata = $db->sql_fetchrow($result); $db->sql_freeresult($result); $login = 1; } } // // At this point either $userdata should be populated or // one of the below is true // * Key didn't match one in the DB // * User does not exist // * User is inactive // if (!sizeof($userdata) || !is_array($userdata) || !$userdata) { $sessiondata['autologinid'] = ''; $sessiondata['userid'] = $user_id = ANONYMOUS; $enable_autologin = $login = 0; $sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . (int) $user_id; if (!($result = $db->sql_query($sql))) { mx_message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql); } $userdata = $db->sql_fetchrow($result); $db->sql_freeresult($result); } // // Initial ban check against user id, IP and email address // preg_match('/(..)(..)(..)(..)/', $user_ip, $user_ip_parts); $sql = "SELECT ban_ip, ban_userid, ban_email FROM " . BANLIST_TABLE . " WHERE ban_ip IN ('" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . "', '" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . "ff', '" . $user_ip_parts[1] . $user_ip_parts[2] . "ffff', '" . $user_ip_parts[1] . "ffffff') OR ban_userid = $user_id"; if ( $user_id != ANONYMOUS ) { $sql .= " OR ban_email LIKE '" . str_replace("\'", "''", $userdata['user_email']) . "' OR ban_email LIKE '" . substr(str_replace("\'", "''", $userdata['user_email']), strpos(str_replace("\'", "''", $userdata['user_email']), "@")) . "'"; } if ( !($result = $db->sql_query($sql)) ) { mx_message_die(CRITICAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql); } if ( $ban_info = $db->sql_fetchrow($result) ) { if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] ) { mx_message_die(CRITICAL_MESSAGE, 'You_been_banned'); } } // // Create or update the session // $sql = "UPDATE " . SESSIONS_TABLE . " SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin WHERE session_id = '" . $session_id . "' AND session_ip = '$user_ip'"; if ( !$db->sql_query($sql) || !$db->sql_affectedrows() ) { $session_id = md5(mx_dss_rand()); $sql = "INSERT INTO " . SESSIONS_TABLE . " (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin) VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql); } } if ( $user_id != ANONYMOUS ) { $last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; if (!$admin) { $sql = "UPDATE " . USERS_TABLE . " SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit WHERE user_id = $user_id"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql); } } $userdata['user_lastvisit'] = $last_visit; // // Regenerate the auto-login key // if ($enable_autologin) { $auto_login_key = mx_dss_rand() . mx_dss_rand(); if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '') { $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . " SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time WHERE key_id = '" . md5($sessiondata['autologinid']) . "'"; } else { $sql = 'INSERT INTO ' . SESSIONS_KEYS_TABLE . "(key_id, user_id, last_ip, last_login) VALUES ('" . md5($auto_login_key) . "', $user_id, '$user_ip', $current_time)"; } if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql); } $sessiondata['autologinid'] = $auto_login_key; unset($auto_login_key); } else { $sessiondata['autologinid'] = ''; } // $sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologinid']; $sessiondata['userid'] = $user_id; } $userdata['session_id'] = $session_id; $userdata['session_ip'] = $user_ip; $userdata['session_user_id'] = $user_id; $userdata['session_logged_in'] = $login; $userdata['session_page'] = $page_id; $userdata['session_start'] = $current_time; $userdata['session_time'] = $current_time; $userdata['session_admin'] = $admin; $userdata['session_key'] = $sessiondata['autologinid']; setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure); setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure); $SID = 'sid=' . $session_id; return $userdata; } // // Checks for a given user session, tidies session table and updates user // sessions at each page refresh // function session_pagestart($user_ip, $thispage_id) { global $db, $lang, $board_config; global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID; $cookiename = $board_config['cookie_name']; $cookiepath = $board_config['cookie_path']; $cookiedomain = $board_config['cookie_domain']; $cookiesecure = $board_config['cookie_secure']; $current_time = time(); unset($userdata); if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ) { $sessiondata = isset( $HTTP_COOKIE_VARS[$cookiename . '_data'] ) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array(); $session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : ''; $sessionmethod = SESSION_METHOD_COOKIE; } else { $sessiondata = array(); $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : ''; $sessionmethod = SESSION_METHOD_GET; } // if (!preg_match('/^[A-Za-z0-9]*$/', $session_id)) { $session_id = ''; } $thispage_id = (int) $thispage_id; // // Does a session exist? // if ( !empty($session_id) ) { // // session_id exists so go ahead and attempt to grab all // data in preparation // $sql = "SELECT u.*, s.* FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u WHERE s.session_id = '$session_id' AND u.user_id = s.session_user_id"; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql); } $userdata = $db->sql_fetchrow($result); // // Did the session exist in the DB? // if ( isset($userdata['user_id']) ) { // // Do not check IP assuming equivalence, if IPv4 we'll check only first 24 // bits ... I've been told (by vHiker) this should alleviate problems with // load balanced et al proxies while retaining some reliance on IP security. // $ip_check_s = substr($userdata['session_ip'], 0, 6); $ip_check_u = substr($user_ip, 0, 6); if ($ip_check_s == $ip_check_u) { $SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : ''; // // Only update session DB a minute or so after last update // if ( $current_time - $userdata['session_time'] > 60 ) { // A little trick to reset session_admin on session re-usage $update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', session_admin = 0' : ''; $sql = "UPDATE " . SESSIONS_TABLE . " SET session_time = $current_time, session_page = $thispage_id$update_admin WHERE session_id = '" . $userdata['session_id'] . "'"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql); } if ( $userdata['user_id'] != ANONYMOUS ) { $sql = "UPDATE " . USERS_TABLE . " SET user_session_time = $current_time, user_session_page = $thispage_id WHERE user_id = " . $userdata['user_id']; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql); } } $this->session_clean($userdata['session_id']); setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure); setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure); } // Add the session_key to the userdata array if it is set if ( isset($sessiondata['autologinid']) && $sessiondata['autologinid'] != '' ) { $userdata['session_key'] = $sessiondata['autologinid']; } return $userdata; } } } // // If we reach here then no (valid) session exists. So we'll create a new one, // using the cookie user_id if available to pull basic user prefs. // $user_id = ( isset($sessiondata['userid']) ) ? intval($sessiondata['userid']) : ANONYMOUS; if ( !($userdata = $this->session_begin($user_id, $user_ip, $thispage_id, TRUE)) ) { mx_message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql); } return $userdata; } /** * Terminates the specified session * It will delete the entry in the sessions table for this session, * remove the corresponding auto-login key and reset the cookies */ function session_end($session_id, $user_id) { global $db, $lang, $board_config, $userdata; global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID; $cookiename = $board_config['cookie_name']; $cookiepath = $board_config['cookie_path']; $cookiedomain = $board_config['cookie_domain']; $cookiesecure = $board_config['cookie_secure']; $current_time = time(); if (!preg_match('/^[A-Za-z0-9]*$/', $session_id)) { return; } // // Delete existing session // $sql = 'DELETE FROM ' . SESSIONS_TABLE . " WHERE session_id = '$session_id' AND session_user_id = $user_id"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql); } // // Remove this auto-login entry (if applicable) // if ( isset($userdata['session_key']) && $userdata['session_key'] != '' ) { $autologin_key = md5($userdata['session_key']); $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . ' WHERE user_id = ' . (int) $user_id . " AND key_id = '$autologin_key'"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error removing auto-login key', '', __LINE__, __FILE__, $sql); } } // // We expect that message_die will be called after this function, // but just in case it isn't, reset $userdata to the details for a guest // $sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql); } if ( !($userdata = $db->sql_fetchrow($result)) ) { mx_message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql); } $db->sql_freeresult($result); setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure); setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure); return true; } /** * Removes expired sessions and auto-login keys from the database */ function session_clean($session_id) { global $board_config, $db; // // Delete expired sessions // $sql = 'DELETE FROM ' . SESSIONS_TABLE . ' WHERE session_time < ' . (time() - (int) $board_config['session_length']) . " AND session_id <> '$session_id'"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql); } // // Delete expired auto-login keys // If max_autologin_time is not set then keys will never be deleted // (same behaviour as old 2.0.x session code) // if (!empty($board_config['max_autologin_time']) && $board_config['max_autologin_time'] > 0) { $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . ' WHERE last_login < ' . (time() - (86400 * (int) $board_config['max_autologin_time'])); $db->sql_query($sql); } return true; } /** * Reset all login keys for the specified user * Called on password changes */ function session_reset_keys($user_id, $user_ip) { global $db, $userdata, $board_config; $key_sql = ($user_id == $userdata['user_id'] && !empty($userdata['session_key'])) ? "AND key_id != '" . md5($userdata['session_key']) . "'" : ''; $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . ' WHERE user_id = ' . (int) $user_id . " $key_sql"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error removing auto-login keys', '', __LINE__, __FILE__, $sql); } $where_sql = 'session_user_id = ' . (int) $user_id; $where_sql .= ($user_id == $userdata['user_id']) ? " AND session_id <> '" . $userdata['session_id'] . "'" : ''; $sql = 'DELETE FROM ' . SESSIONS_TABLE . " WHERE $where_sql"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error removing user session(s)', '', __LINE__, __FILE__, $sql); } if ( !empty($key_sql) ) { $auto_login_key = mx_dss_rand() . mx_dss_rand(); $current_time = time(); $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . " SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time WHERE key_id = '" . md5($userdata['session_key']) . "'"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql); } // And now rebuild the cookie $sessiondata['userid'] = $user_id; $sessiondata['autologinid'] = $auto_login_key; $cookiename = $board_config['cookie_name']; $cookiepath = $board_config['cookie_path']; $cookiedomain = $board_config['cookie_domain']; $cookiesecure = $board_config['cookie_secure']; setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure); $userdata['session_key'] = $auto_login_key; unset($sessiondata); unset($auto_login_key); } } } // // Append $SID to a url. Borrowed from phplib and modified. This is an // extra routine utilised by the session code above and acts as a wrapper // around every single URL and form action. If you replace the session // code you must include this routine, even if it's empty. // function append_sid($url, $non_html_amp = false) { global $SID; if ( !empty($SID) && !preg_match('#sid=#', $url) ) { $url .= ( ( strpos($url, '?') !== false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID; } return $url; } ?> |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:51:39
|
Update of /cvsroot/mxbb/core/includes/sessions/internal In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10517/internal Added Files: constants.php login.php session.php Log Message: Ok, massive update for 2.9.x. --- NEW FILE: login.php --- <?php /** * * @package mxBB Portal Core * @version $Id: login.php,v 1.1 2007/09/09 16:51:31 jonohlsson Exp $ * @copyright (c) 2002-2006 mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * @link http://www.mxbb.net * */ if ( !defined('IN_PORTAL') ) { die("Hacking attempt"); } if( ( isset($HTTP_POST_VARS['login']) || isset($HTTP_GET_VARS['login']) ) && (!$userdata['session_logged_in'] || isset($HTTP_POST_VARS['admin'])) ) { $username = isset($HTTP_POST_VARS['username']) ? phpBB2::phpbb_clean_username($HTTP_POST_VARS['username']) : ''; $password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : ''; $sql = "SELECT user_id, username, user_password, user_active, user_level, user_login_tries, user_last_login_try FROM " . USERS_TABLE . " WHERE username = '" . str_replace("\\'", "''", $username) . "'"; if ( !($result = $db->sql_query($sql) ) ) { mx_message_die(GENERAL_ERROR, 'Error in obtaining userdata', '', __LINE__, __FILE__, $sql); } if( $row = $db->sql_fetchrow($result) ) { if( $row['user_level'] != ADMIN && $board_config['board_disable'] ) { mx_redirect(mx_append_sid("index.$phpEx", false)); } else { // If the last login is more than x minutes ago, then reset the login tries/time if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $row['user_last_login_try'] < (time() - ($board_config['login_reset_time'] * 60))) { $db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']); $row['user_last_login_try'] = $row['user_login_tries'] = 0; } // Check to see if user is allowed to login again... if his tries are exceeded if ($row['user_last_login_try'] && $board_config['login_reset_time'] && $board_config['max_login_attempts'] && $row['user_last_login_try'] >= (time() - ($board_config['login_reset_time'] * 60)) && $row['user_login_tries'] >= $board_config['max_login_attempts'] && $userdata['user_level'] != ADMIN) { mx_message_die(GENERAL_MESSAGE, sprintf($lang['Login_attempts_exceeded'], $board_config['max_login_attempts'], $board_config['login_reset_time'])); } if( md5($password) == $row['user_password'] && $row['user_active'] ) { $autologin = ( isset($HTTP_POST_VARS['autologin']) ) ? TRUE : 0; $admin = (isset($HTTP_POST_VARS['admin'])) ? 1 : 0; $session_id = $mx_user->mx_session_create($row['user_id'], $user_ip, PAGE_INDEX, FALSE, $autologin, $admin); // Reset login tries $db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_login_tries = 0, user_last_login_try = 0 WHERE user_id = ' . $row['user_id']); if( $session_id ) { $fromurl = ( !empty($HTTP_REFERER) ) ? str_replace('&', '&', htmlspecialchars($HTTP_REFERER)) : "index.$phpEx"; $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : $fromurl; mx_redirect(mx_append_sid($url, false, false, $session_id)); } else { mx_message_die(CRITICAL_ERROR, "Couldn't start session : login", "", __LINE__, __FILE__); } } // Only store a failed login attempt for an active user - inactive users can't login even with a correct password elseif( $row['user_active'] ) { // Save login tries and last login if ($row['user_id'] != ANONYMOUS) { $sql = 'UPDATE ' . USERS_TABLE . ' SET user_login_tries = user_login_tries + 1, user_last_login_try = ' . time() . ' WHERE user_id = ' . $row['user_id']; $db->sql_query($sql); } $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : ''; $redirect = str_replace('?', '&', $redirect); if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r")) { mx_message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.'); } $template->assign_vars(array( 'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">") ); $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . mx_append_sid("index.$phpEx") . '">', '</a>'); mx_message_die(GENERAL_MESSAGE, $message); } } } else { $redirect = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : ""; $redirect = str_replace("?", "&", $redirect); if (strstr(urldecode($redirect), "\n") || strstr(urldecode($redirect), "\r")) { mx_message_die(GENERAL_ERROR, 'Tried to redirect to potentially insecure url.'); } $template->assign_vars(array( 'META' => "<meta http-equiv=\"refresh\" content=\"3;url=login.$phpEx?redirect=$redirect\">") ); $message = $lang['Error_login'] . '<br /><br />' . sprintf($lang['Click_return_login'], "<a href=\"login.$phpEx?redirect=$redirect\">", '</a>') . '<br /><br />' . sprintf($lang['Click_return_index'], '<a href="' . mx_append_sid("index.$phpEx") . '">', '</a>'); mx_message_die(GENERAL_MESSAGE, $message); } } else if( ( isset($HTTP_GET_VARS['logout']) || isset($HTTP_POST_VARS['logout']) ) && $userdata['session_logged_in'] ) { // session id check if ($sid == '' || $sid != $userdata['session_id']) { mx_message_die(GENERAL_ERROR, 'Invalid_session'); } if( $userdata['session_logged_in'] ) { $mx_user->mx_session_kill($userdata['session_id'], $userdata['user_id']); } if (!empty($HTTP_POST_VARS['redirect']) || !empty($HTTP_GET_VARS['redirect'])) { $fromurl = ( !empty($HTTP_REFERER) ) ? str_replace('&', '&', htmlspecialchars($HTTP_REFERER)) : "index.$phpEx"; $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : $fromurl; mx_redirect(mx_append_sid($url, false, false, $session_id)); } else { mx_redirect(mx_append_sid("index.$phpEx", false)); } } else { $url = ( !empty($HTTP_POST_VARS['redirect']) ) ? str_replace('&', '&', htmlspecialchars($HTTP_POST_VARS['redirect'])) : "index.$phpEx"; mx_redirect(mx_append_sid($url, false)); } ?> --- NEW FILE: constants.php --- <?php /*************************************************************************** * constants.php * ------------------- * begin : Saturday', Feb 13', 2001 * copyright : ('C) 2001 The phpBB Group * email : su...@ph... * * $Id: constants.php,v 1.1 2007/09/09 16:51:31 jonohlsson Exp $ * * ***************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License', or * ('at your option) any later version. * ***************************************************************************/ if ( !defined('IN_PHPBB') ) { die("Hacking attempt"); } // Debug Level //define('DEBUG', 1); // Debugging on define('DEBUG', 1); // Debugging off // User Levels <- Do not change the values of USER or ADMIN define('DELETED', -1); define('ANONYMOUS', -1); define('USER', 0); define('ADMIN', 1); define('MOD', 2); // User related define('USER_ACTIVATION_NONE', 0); define('USER_ACTIVATION_SELF', 1); define('USER_ACTIVATION_ADMIN', 2); define('USER_AVATAR_NONE', 0); define('USER_AVATAR_UPLOAD', 1); define('USER_AVATAR_REMOTE', 2); define('USER_AVATAR_GALLERY', 3); // Group settings define('GROUP_OPEN', 0); define('GROUP_CLOSED', 1); define('GROUP_HIDDEN', 2); // Forum state define('FORUM_UNLOCKED', 0); define('FORUM_LOCKED', 1); // Topic status define('TOPIC_UNLOCKED', 0); define('TOPIC_LOCKED', 1); define('TOPIC_MOVED', 2); define('TOPIC_WATCH_NOTIFIED', 1); define('TOPIC_WATCH_UN_NOTIFIED', 0); // Topic types define('POST_NORMAL', 0); define('POST_STICKY', 1); define('POST_ANNOUNCE', 2); define('POST_GLOBAL_ANNOUNCE', 3); // SQL codes define('BEGIN_TRANSACTION', 1); define('END_TRANSACTION', 2); // Error codes define('GENERAL_MESSAGE', 200); define('GENERAL_ERROR', 202); define('CRITICAL_MESSAGE', 203); define('CRITICAL_ERROR', 204); // Private messaging define('PRIVMSGS_READ_MAIL', 0); define('PRIVMSGS_NEW_MAIL', 1); define('PRIVMSGS_SENT_MAIL', 2); define('PRIVMSGS_SAVED_IN_MAIL', 3); define('PRIVMSGS_SAVED_OUT_MAIL', 4); define('PRIVMSGS_UNREAD_MAIL', 5); // URL PARAMETERS define('POST_TOPIC_URL', 't'); define('POST_CAT_URL', 'c'); define('POST_FORUM_URL', 'f'); define('POST_USERS_URL', 'u'); define('POST_POST_URL', 'p'); define('POST_GROUPS_URL', 'g'); // Session parameters define('SESSION_METHOD_COOKIE', 100); define('SESSION_METHOD_GET', 101); // Page numbers for session handling define('PAGE_INDEX', 0); define('PAGE_LOGIN', -1); define('PAGE_SEARCH', -2); define('PAGE_REGISTER', -3); define('PAGE_PROFILE', -4); define('PAGE_VIEWONLINE', -6); define('PAGE_VIEWMEMBERS', -7); define('PAGE_FAQ', -8); define('PAGE_POSTING', -9); define('PAGE_PRIVMSGS', -10); define('PAGE_GROUPCP', -11); define('PAGE_TOPIC_OFFSET', 5000); // Auth settings define('AUTH_LIST_ALL', 0); define('AUTH_ALL', 0); define('AUTH_REG', 1); define('AUTH_ACL', 2); define('AUTH_MOD', 3); define('AUTH_ADMIN', 5); define('AUTH_VIEW', 1); define('AUTH_READ', 2); define('AUTH_POST', 3); define('AUTH_REPLY', 4); define('AUTH_EDIT', 5); define('AUTH_DELETE', 6); define('AUTH_ANNOUNCE', 7); define('AUTH_STICKY', 8); define('AUTH_POLLCREATE', 9); define('AUTH_VOTE', 10); define('AUTH_ATTACH', 11); // Table names //define('CONFIRM_TABLE', $table_prefix.'confirm'); //define('AUTH_ACCESS_TABLE', $table_prefix.'auth_access'); //define('BANLIST_TABLE', $table_prefix.'banlist'); //define('CATEGORIES_TABLE', $table_prefix.'categories'); //define('CONFIG_TABLE', $table_prefix.'config'); //define('DISALLOW_TABLE', $table_prefix.'disallow'); //define('FORUMS_TABLE', $table_prefix.'forums'); define('GROUPS_TABLE', $mx_table_prefix.'groups'); //define('POSTS_TABLE', $table_prefix.'posts'); //define('POSTS_TEXT_TABLE', $table_prefix.'posts_text'); //define('PRIVMSGS_TABLE', $table_prefix.'privmsgs'); //define('PRIVMSGS_TEXT_TABLE', $table_prefix.'privmsgs_text'); //define('PRIVMSGS_IGNORE_TABLE', $table_prefix.'privmsgs_ignore'); //define('PRUNE_TABLE', $table_prefix.'forum_prune'); //define('RANKS_TABLE', $table_prefix.'ranks'); //define('SEARCH_TABLE', $table_prefix.'search_results'); //define('SEARCH_WORD_TABLE', $table_prefix.'search_wordlist'); //define('SEARCH_MATCH_TABLE', $table_prefix.'search_wordmatch'); define('SESSIONS_TABLE', $mx_table_prefix.'sessions'); define('SESSIONS_KEYS_TABLE', $mx_table_prefix.'sessions_keys'); define('SMILIES_TABLE', $table_prefix.'smilies'); //define('THEMES_TABLE', $table_prefix.'themes'); //define('THEMES_NAME_TABLE', $table_prefix.'themes_name'); //define('TOPICS_TABLE', $table_prefix.'topics'); //define('TOPICS_WATCH_TABLE', $table_prefix.'topics_watch'); define('USER_GROUP_TABLE', $mx_table_prefix.'user_group'); define('USERS_TABLE', $mx_table_prefix.'users'); define('WORDS_TABLE', $table_prefix.'words'); //define('VOTE_DESC_TABLE', $table_prefix.'vote_desc'); //define('VOTE_RESULTS_TABLE', $table_prefix.'vote_results'); //define('VOTE_USERS_TABLE', $table_prefix.'vote_voters'); ?> --- NEW FILE: session.php --- <?php /*************************************************************************** * sessions.php * ------------------- * begin : Saturday, Feb 13, 2001 * copyright : (C) 2001 The phpBB Group * email : su...@ph... * * $Id: session.php,v 1.1 2007/09/09 16:51:31 jonohlsson Exp $ * * ***************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * ***************************************************************************/ /** * Modifications: * * Class wrapper * mx_dss_rand */ /** * Session class * @package mxBB3 */ class session { var $cookie_data = array(); var $page = array(); var $data = array(); var $browser = ''; var $forwarded_for = ''; var $host = ''; var $session_id = ''; var $ip = ''; var $load = 0; var $time_now = 0; var $update_session_page = true; // // Adds/updates a new session to the database for the given userid. // Returns the new session ID on success. // function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_autologin = 0, $admin = 0) { global $db, $board_config; global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID; $cookiename = $board_config['cookie_name']; $cookiepath = $board_config['cookie_path']; $cookiedomain = $board_config['cookie_domain']; $cookiesecure = $board_config['cookie_secure']; if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ) { $session_id = isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : ''; $sessiondata = isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array(); $sessionmethod = SESSION_METHOD_COOKIE; } else { $sessiondata = array(); $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : ''; $sessionmethod = SESSION_METHOD_GET; } // if (!preg_match('/^[A-Za-z0-9]*$/', $session_id)) { $session_id = ''; } $page_id = (int) $page_id; $last_visit = 0; $current_time = time(); // // Are auto-logins allowed? // If allow_autologin is not set or is true then they are // (same behaviour as old 2.0.x session code) // if (isset($board_config['allow_autologin']) && !$board_config['allow_autologin']) { $enable_autologin = $sessiondata['autologinid'] = false; } // // First off attempt to join with the autologin value if we have one // If not, just use the user_id value // $userdata = array(); if ($user_id != ANONYMOUS) { if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '' && $user_id) { $sql = 'SELECT u.* FROM ' . USERS_TABLE . ' u, ' . SESSIONS_KEYS_TABLE . ' k WHERE u.user_id = ' . (int) $user_id . " AND u.user_active = 1 AND k.user_id = u.user_id AND k.key_id = '" . md5($sessiondata['autologinid']) . "'"; if (!($result = $db->sql_query($sql))) { mx_message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql); } $userdata = $db->sql_fetchrow($result); $db->sql_freeresult($result); $enable_autologin = $login = 1; } else if (!$auto_create) { $sessiondata['autologinid'] = ''; $sessiondata['userid'] = $user_id; $sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . (int) $user_id . ' AND user_active = 1'; if (!($result = $db->sql_query($sql))) { mx_message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql); } $userdata = $db->sql_fetchrow($result); $db->sql_freeresult($result); $login = 1; } } // // At this point either $userdata should be populated or // one of the below is true // * Key didn't match one in the DB // * User does not exist // * User is inactive // if (!sizeof($userdata) || !is_array($userdata) || !$userdata) { $sessiondata['autologinid'] = ''; $sessiondata['userid'] = $user_id = ANONYMOUS; $enable_autologin = $login = 0; $sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . (int) $user_id; if (!($result = $db->sql_query($sql))) { mx_message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql); } $userdata = $db->sql_fetchrow($result); $db->sql_freeresult($result); } // // Initial ban check against user id, IP and email address // /* preg_match('/(..)(..)(..)(..)/', $user_ip, $user_ip_parts); $sql = "SELECT ban_ip, ban_userid, ban_email FROM " . BANLIST_TABLE . " WHERE ban_ip IN ('" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . $user_ip_parts[4] . "', '" . $user_ip_parts[1] . $user_ip_parts[2] . $user_ip_parts[3] . "ff', '" . $user_ip_parts[1] . $user_ip_parts[2] . "ffff', '" . $user_ip_parts[1] . "ffffff') OR ban_userid = $user_id"; if ( $user_id != ANONYMOUS ) { $sql .= " OR ban_email LIKE '" . str_replace("\'", "''", $userdata['user_email']) . "' OR ban_email LIKE '" . substr(str_replace("\'", "''", $userdata['user_email']), strpos(str_replace("\'", "''", $userdata['user_email']), "@")) . "'"; } if ( !($result = $db->sql_query($sql)) ) { mx_message_die(CRITICAL_ERROR, 'Could not obtain ban information', '', __LINE__, __FILE__, $sql); } if ( $ban_info = $db->sql_fetchrow($result) ) { if ( $ban_info['ban_ip'] || $ban_info['ban_userid'] || $ban_info['ban_email'] ) { mx_message_die(CRITICAL_MESSAGE, 'You_been_banned'); } } */ // // Create or update the session // $sql = "UPDATE " . SESSIONS_TABLE . " SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin WHERE session_id = '" . $session_id . "' AND session_ip = '$user_ip'"; if ( !$db->sql_query($sql) || !$db->sql_affectedrows() ) { $session_id = md5(mx_dss_rand()); $sql = "INSERT INTO " . SESSIONS_TABLE . " (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in, session_admin) VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login, $admin)"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql); } } if ( $user_id != ANONYMOUS ) { $last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; if (!$admin) { $sql = "UPDATE " . USERS_TABLE . " SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit WHERE user_id = $user_id"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql); } } $userdata['user_lastvisit'] = $last_visit; // // Regenerate the auto-login key // if ($enable_autologin) { $auto_login_key = mx_dss_rand() . mx_dss_rand(); if (isset($sessiondata['autologinid']) && (string) $sessiondata['autologinid'] != '') { $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . " SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time WHERE key_id = '" . md5($sessiondata['autologinid']) . "'"; } else { $sql = 'INSERT INTO ' . SESSIONS_KEYS_TABLE . "(key_id, user_id, last_ip, last_login) VALUES ('" . md5($auto_login_key) . "', $user_id, '$user_ip', $current_time)"; } if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql); } $sessiondata['autologinid'] = $auto_login_key; unset($auto_login_key); } else { $sessiondata['autologinid'] = ''; } // $sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologinid']; $sessiondata['userid'] = $user_id; } $userdata['session_id'] = $session_id; $userdata['session_ip'] = $user_ip; $userdata['session_user_id'] = $user_id; $userdata['session_logged_in'] = $login; $userdata['session_page'] = $page_id; $userdata['session_start'] = $current_time; $userdata['session_time'] = $current_time; $userdata['session_admin'] = $admin; $userdata['session_key'] = $sessiondata['autologinid']; setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure); setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure); $SID = 'sid=' . $session_id; return $userdata; } // // Checks for a given user session, tidies session table and updates user // sessions at each page refresh // function session_pagestart($user_ip, $thispage_id) { global $db, $lang, $board_config; global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID; $cookiename = $board_config['cookie_name']; $cookiepath = $board_config['cookie_path']; $cookiedomain = $board_config['cookie_domain']; $cookiesecure = $board_config['cookie_secure']; $current_time = time(); unset($userdata); if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) || isset($HTTP_COOKIE_VARS[$cookiename . '_data']) ) { $sessiondata = isset( $HTTP_COOKIE_VARS[$cookiename . '_data'] ) ? unserialize(stripslashes($HTTP_COOKIE_VARS[$cookiename . '_data'])) : array(); $session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : ''; $sessionmethod = SESSION_METHOD_COOKIE; } else { $sessiondata = array(); $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : ''; $sessionmethod = SESSION_METHOD_GET; } // if (!preg_match('/^[A-Za-z0-9]*$/', $session_id)) { $session_id = ''; } $thispage_id = (int) $thispage_id; // // Does a session exist? // if ( !empty($session_id) ) { // // session_id exists so go ahead and attempt to grab all // data in preparation // $sql = "SELECT u.*, s.* FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u WHERE s.session_id = '$session_id' AND u.user_id = s.session_user_id"; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql); } $userdata = $db->sql_fetchrow($result); // // Did the session exist in the DB? // if ( isset($userdata['user_id']) ) { // // Do not check IP assuming equivalence, if IPv4 we'll check only first 24 // bits ... I've been told (by vHiker) this should alleviate problems with // load balanced et al proxies while retaining some reliance on IP security. // $ip_check_s = substr($userdata['session_ip'], 0, 6); $ip_check_u = substr($user_ip, 0, 6); if ($ip_check_s == $ip_check_u) { $SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : ''; // // Only update session DB a minute or so after last update // if ( $current_time - $userdata['session_time'] > 60 ) { // A little trick to reset session_admin on session re-usage $update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', session_admin = 0' : ''; $sql = "UPDATE " . SESSIONS_TABLE . " SET session_time = $current_time, session_page = $thispage_id$update_admin WHERE session_id = '" . $userdata['session_id'] . "'"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql); } if ( $userdata['user_id'] != ANONYMOUS ) { $sql = "UPDATE " . USERS_TABLE . " SET user_session_time = $current_time, user_session_page = $thispage_id WHERE user_id = " . $userdata['user_id']; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql); } } $this->session_clean($userdata['session_id']); setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure); setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure); } // Add the session_key to the userdata array if it is set if ( isset($sessiondata['autologinid']) && $sessiondata['autologinid'] != '' ) { $userdata['session_key'] = $sessiondata['autologinid']; } return $userdata; } } } // // If we reach here then no (valid) session exists. So we'll create a new one, // using the cookie user_id if available to pull basic user prefs. // $user_id = ( isset($sessiondata['userid']) ) ? intval($sessiondata['userid']) : ANONYMOUS; if ( !($userdata = $this->session_begin($user_id, $user_ip, $thispage_id, TRUE)) ) { mx_message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql); } return $userdata; } /** * Terminates the specified session * It will delete the entry in the sessions table for this session, * remove the corresponding auto-login key and reset the cookies */ function session_end($session_id, $user_id) { global $db, $lang, $board_config, $userdata; global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID; $cookiename = $board_config['cookie_name']; $cookiepath = $board_config['cookie_path']; $cookiedomain = $board_config['cookie_domain']; $cookiesecure = $board_config['cookie_secure']; $current_time = time(); if (!preg_match('/^[A-Za-z0-9]*$/', $session_id)) { return; } // // Delete existing session // $sql = 'DELETE FROM ' . SESSIONS_TABLE . " WHERE session_id = '$session_id' AND session_user_id = $user_id"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql); } // // Remove this auto-login entry (if applicable) // if ( isset($userdata['session_key']) && $userdata['session_key'] != '' ) { $autologin_key = md5($userdata['session_key']); $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . ' WHERE user_id = ' . (int) $user_id . " AND key_id = '$autologin_key'"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error removing auto-login key', '', __LINE__, __FILE__, $sql); } } // // We expect that message_die will be called after this function, // but just in case it isn't, reset $userdata to the details for a guest // $sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS; if ( !($result = $db->sql_query($sql)) ) { mx_message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql); } if ( !($userdata = $db->sql_fetchrow($result)) ) { mx_message_die(CRITICAL_ERROR, 'Error obtaining user details', '', __LINE__, __FILE__, $sql); } $db->sql_freeresult($result); setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure); setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure); return true; } /** * Removes expired sessions and auto-login keys from the database */ function session_clean($session_id) { global $board_config, $db; // // Delete expired sessions // $sql = 'DELETE FROM ' . SESSIONS_TABLE . ' WHERE session_time < ' . (time() - (int) $board_config['session_length']) . " AND session_id <> '$session_id'"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql); } // // Delete expired auto-login keys // If max_autologin_time is not set then keys will never be deleted // (same behaviour as old 2.0.x session code) // if (!empty($board_config['max_autologin_time']) && $board_config['max_autologin_time'] > 0) { $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . ' WHERE last_login < ' . (time() - (86400 * (int) $board_config['max_autologin_time'])); $db->sql_query($sql); } return true; } /** * Reset all login keys for the specified user * Called on password changes */ function session_reset_keys($user_id, $user_ip) { global $db, $userdata, $board_config; $key_sql = ($user_id == $userdata['user_id'] && !empty($userdata['session_key'])) ? "AND key_id != '" . md5($userdata['session_key']) . "'" : ''; $sql = 'DELETE FROM ' . SESSIONS_KEYS_TABLE . ' WHERE user_id = ' . (int) $user_id . " $key_sql"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error removing auto-login keys', '', __LINE__, __FILE__, $sql); } $where_sql = 'session_user_id = ' . (int) $user_id; $where_sql .= ($user_id == $userdata['user_id']) ? " AND session_id <> '" . $userdata['session_id'] . "'" : ''; $sql = 'DELETE FROM ' . SESSIONS_TABLE . " WHERE $where_sql"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error removing user session(s)', '', __LINE__, __FILE__, $sql); } if ( !empty($key_sql) ) { $auto_login_key = mx_dss_rand() . mx_dss_rand(); $current_time = time(); $sql = 'UPDATE ' . SESSIONS_KEYS_TABLE . " SET last_ip = '$user_ip', key_id = '" . md5($auto_login_key) . "', last_login = $current_time WHERE key_id = '" . md5($userdata['session_key']) . "'"; if ( !$db->sql_query($sql) ) { mx_message_die(CRITICAL_ERROR, 'Error updating session key', '', __LINE__, __FILE__, $sql); } // And now rebuild the cookie $sessiondata['userid'] = $user_id; $sessiondata['autologinid'] = $auto_login_key; $cookiename = $board_config['cookie_name']; $cookiepath = $board_config['cookie_path']; $cookiedomain = $board_config['cookie_domain']; $cookiesecure = $board_config['cookie_secure']; setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure); $userdata['session_key'] = $auto_login_key; unset($sessiondata); unset($auto_login_key); } } } // // Append $SID to a url. Borrowed from phplib and modified. This is an // extra routine utilised by the session code above and acts as a wrapper // around every single URL and form action. If you replace the session // code you must include this routine, even if it's empty. // function append_sid($url, $non_html_amp = false) { global $SID; if ( !empty($SID) && !preg_match('#sid=#', $url) ) { $url .= ( ( strpos($url, '?') !== false ) ? ( ( $non_html_amp ) ? '&' : '&' ) : '?' ) . $SID; } return $url; } ?> |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:51:19
|
Update of /cvsroot/mxbb/core/templates/subSilver In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10026/subSilver Modified Files: overall_header_navigation.tpl subSilver.cfg Removed Files: login_body.tpl message_body.tpl mx_main_layout.tpl overall_footer.tpl overall_header.tpl overall_noheader.tpl Log Message: Ok, massive update for 2.9.x. --- mx_main_layout.tpl DELETED --- Index: overall_header_navigation.tpl =================================================================== RCS file: /cvsroot/mxbb/core/templates/subSilver/overall_header_navigation.tpl,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** overall_header_navigation.tpl 22 Jul 2007 21:01:47 -0000 1.7 --- overall_header_navigation.tpl 9 Sep 2007 16:50:44 -0000 1.8 *************** *** 75,79 **** <table width="100%" cellspacing="0" cellpadding="2" border="0" class="mx_header_table"> <tr> ! <td class="row3" width="25%" align="left" valign="top"><a href="{U_INDEX}"><img src="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}images/logo.gif" border="0" alt="{L_INDEX}" vspace="1"/></a></td> <td class="row3" width="50%" align="center" valign="middle">{PAGE_ICON}<span class="pagetitle">{PAGE_TITLE}</span></td> <td class="row3" width="25%" align="right" valign="top"><span class="sitetitle">{SITENAME}</span><br /><span class="sitetitle_desc">{SITE_DESCRIPTION}</span></td> --- 75,79 ---- <table width="100%" cellspacing="0" cellpadding="2" border="0" class="mx_header_table"> <tr> ! <td class="row3" width="25%" align="left" valign="top"><a href="{U_INDEX}"><img src="{LOGO}" border="0" alt="{L_INDEX}" vspace="1"/></a></td> <td class="row3" width="50%" align="center" valign="middle">{PAGE_ICON}<span class="pagetitle">{PAGE_TITLE}</span></td> <td class="row3" width="25%" align="right" valign="top"><span class="sitetitle">{SITENAME}</span><br /><span class="sitetitle_desc">{SITE_DESCRIPTION}</span></td> Index: subSilver.cfg =================================================================== RCS file: /cvsroot/mxbb/core/templates/subSilver/subSilver.cfg,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** subSilver.cfg 28 Apr 2007 19:44:00 -0000 1.7 --- subSilver.cfg 9 Sep 2007 16:50:44 -0000 1.8 *************** *** 26,29 **** --- 26,31 ---- */ + $mx_template_settings['portal_backend'] = 'phpbb2'; + // // Do not alter this line! *************** *** 47,51 **** // and with $mx_template_settings['cloned_template'] = 'subSilver'. // If this template is a full set of *.tpl files, leave this blank. ! $mx_template_settings['cloned_template'] = 'subSilver'; // --- 49,53 ---- // and with $mx_template_settings['cloned_template'] = 'subSilver'. // If this template is a full set of *.tpl files, leave this blank. ! $mx_template_settings['cloned_template'] = ''; // *************** *** 58,67 **** | - these are very handy paths to ALL kind of phpBB/mxBB graphics \********************************************************************************/ ! $mx_images['mx_graphics']['general'] = $current_template_path . "/images"; ! $mx_images['mx_graphics']['page_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/page_icons" ) ? $current_template_path . "/images/page_icons" : $cloned_template_path . "/images/page_icons"; ! $mx_images['mx_graphics']['block_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/block_icons" ) ? $current_template_path . "/images/block_icons" : $cloned_template_path . "/images/block_icons"; ! $mx_images['mx_graphics']['menu_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/menu_icons" ) ? $current_template_path . "/images/menu_icons" : $cloned_template_path . "/images/menu_icons"; ! $mx_images['mx_graphics']['admin_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/admin_icons" ) ? $current_template_path . "/images/admin_icons" : $cloned_template_path . "/images/admin_icons"; ! $mx_images['mx_graphics']['phpbb_icons'] = file_exists( $phpbb_root_path . $current_template_path . "/images" ) ? $current_template_path . "/images" : $cloned_template_path . "/images"; // --- 60,69 ---- | - these are very handy paths to ALL kind of phpBB/mxBB graphics \********************************************************************************/ ! $mx_images['mx_graphics']['general'] = file_exists( $mx_root_path . $current_template_path . "/images/logo.gif" ) ? $current_template_path . "/images" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/logo.gif" ) ? $cloned_template_path . "/images" : $default_template_path . "/images" ); ! $mx_images['mx_graphics']['page_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/page_icons" ) ? $current_template_path . "/images/page_icons" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/page_icons" ) ? $cloned_template_path . "/images/page_icons" : $default_template_path . "/images/page_icons" ); ! $mx_images['mx_graphics']['block_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/block_icons" ) ? $current_template_path . "/images/block_icons" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/block_icons" ) ? $cloned_template_path . "/images/block_icons" : $default_template_path . "/images/block_icons" ); ! $mx_images['mx_graphics']['menu_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/menu_icons" ) ? $current_template_path . "/images/menu_icons" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/menu_icons" ) ? $cloned_template_path . "/images/menu_icons" : $default_template_path . "/images/menu_icons" ); ! $mx_images['mx_graphics']['admin_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/admin_icons" ) ? $current_template_path . "/images/admin_icons" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/admin_icons" ) ? $cloned_template_path . "/images/admin_icons" : $default_template_path . "/images/admin_icons" ); ! $mx_images['mx_graphics']['phpbb_icons'] = file_exists( $phpbb_root_path . $current_template_path . "/images" ) ? $current_template_path . "/images" : ( file_exists( $phpbb_root_path . $cloned_template_path . "/images" ) ? $cloned_template_path . "/images" : $default_template_path . "/images"); // *************** *** 155,211 **** // common phpBB images, this will have immedaite effect for all mxBB pages. // - /* ! $current_template_images = $current_template_path . "/images"; ! ! $images['icon_quote'] = "$current_template_images/{LANG}/icon_quote.gif"; ! $images['icon_edit'] = "$current_template_images/{LANG}/icon_edit.gif"; ! $images['icon_search'] = "$current_template_images/{LANG}/icon_search.gif"; ! $images['icon_profile'] = "$current_template_images/{LANG}/icon_profile.gif"; ! $images['icon_pm'] = "$current_template_images/{LANG}/icon_pm.gif"; ! $images['icon_email'] = "$current_template_images/{LANG}/icon_email.gif"; ! $images['icon_delpost'] = "$current_template_images/icon_delete.gif"; ! $images['icon_ip'] = "$current_template_images/{LANG}/icon_ip.gif"; ! $images['icon_www'] = "$current_template_images/{LANG}/icon_www.gif"; ! $images['icon_icq'] = "$current_template_images/{LANG}/icon_icq_add.gif"; ! $images['icon_aim'] = "$current_template_images/{LANG}/icon_aim.gif"; ! $images['icon_yim'] = "$current_template_images/{LANG}/icon_yim.gif"; ! $images['icon_msnm'] = "$current_template_images/{LANG}/icon_msnm.gif"; ! $images['icon_minipost'] = "$current_template_images/icon_minipost.gif"; ! $images['icon_gotopost'] = "$current_template_images/icon_minipost.gif"; ! $images['icon_minipost_new'] = "$current_template_images/icon_minipost_new.gif"; ! $images['icon_latest_reply'] = "$current_template_images/icon_latest_reply.gif"; ! $images['icon_newest_reply'] = "$current_template_images/icon_newest_reply.gif"; ! $images['forum'] = "$current_template_images/folder_big.gif"; ! $images['forum_new'] = "$current_template_images/folder_new_big.gif"; ! $images['forum_locked'] = "$current_template_images/folder_locked_big.gif"; ! $images['folder'] = "$current_template_images/folder.gif"; ! $images['folder_new'] = "$current_template_images/folder_new.gif"; ! $images['folder_hot'] = "$current_template_images/folder_hot.gif"; ! $images['folder_hot_new'] = "$current_template_images/folder_new_hot.gif"; ! $images['folder_locked'] = "$current_template_images/folder_lock.gif"; ! $images['folder_locked_new'] = "$current_template_images/folder_lock_new.gif"; ! $images['folder_sticky'] = "$current_template_images/folder_sticky.gif"; ! $images['folder_sticky_new'] = "$current_template_images/folder_sticky_new.gif"; ! $images['folder_announce'] = "$current_template_images/folder_announce.gif"; ! $images['folder_announce_new'] = "$current_template_images/folder_announce_new.gif"; ! $images['post_new'] = "$current_template_images/{LANG}/post.gif"; ! $images['post_locked'] = "$current_template_images/{LANG}/reply-locked.gif"; ! $images['reply_new'] = "$current_template_images/{LANG}/reply.gif"; ! $images['reply_locked'] = "$current_template_images/{LANG}/reply-locked.gif"; ! $images['pm_inbox'] = "$current_template_images/msg_inbox.gif"; ! $images['pm_outbox'] = "$current_template_images/msg_outbox.gif"; ! $images['pm_savebox'] = "$current_template_images/msg_savebox.gif"; ! $images['pm_sentbox'] = "$current_template_images/msg_sentbox.gif"; ! $images['pm_readmsg'] = "$current_template_images/folder.gif"; ! $images['pm_unreadmsg'] = "$current_template_images/folder_new.gif"; ! $images['pm_replymsg'] = "$current_template_images/{LANG}/reply.gif"; ! $images['pm_postmsg'] = "$current_template_images/{LANG}/msg_newpost.gif"; ! $images['pm_quotemsg'] = "$current_template_images/{LANG}/icon_quote.gif"; ! $images['pm_editmsg'] = "$current_template_images/{LANG}/icon_edit.gif"; $images['pm_new_msg'] = ""; $images['pm_no_new_msg'] = ""; --- 157,210 ---- // common phpBB images, this will have immedaite effect for all mxBB pages. // /* ! $images['icon_quote'] = "$current_template_phpbb_images/{LANG}/icon_quote.gif"; ! $images['icon_edit'] = "$current_template_phpbb_images/{LANG}/icon_edit.gif"; ! $images['icon_search'] = "$current_template_phpbb_images/{LANG}/icon_search.gif"; ! $images['icon_profile'] = "$current_template_phpbb_images/{LANG}/icon_profile.gif"; ! $images['icon_pm'] = "$current_template_phpbb_images/{LANG}/icon_pm.gif"; ! $images['icon_email'] = "$current_template_phpbb_images/{LANG}/icon_email.gif"; ! $images['icon_delpost'] = "$current_template_phpbb_images/icon_delete.gif"; ! $images['icon_ip'] = "$current_template_phpbb_images/{LANG}/icon_ip.gif"; ! $images['icon_www'] = "$current_template_phpbb_images/{LANG}/icon_www.gif"; ! $images['icon_icq'] = "$current_template_phpbb_images/{LANG}/icon_icq_add.gif"; ! $images['icon_aim'] = "$current_template_phpbb_images/{LANG}/icon_aim.gif"; ! $images['icon_yim'] = "$current_template_phpbb_images/{LANG}/icon_yim.gif"; ! $images['icon_msnm'] = "$current_template_phpbb_images/{LANG}/icon_msnm.gif"; ! $images['icon_minipost'] = "$current_template_phpbb_images/icon_minipost.gif"; ! $images['icon_gotopost'] = "$current_template_phpbb_images/icon_minipost.gif"; ! $images['icon_minipost_new'] = "$current_template_phpbb_images/icon_minipost_new.gif"; ! $images['icon_latest_reply'] = "$current_template_phpbb_images/icon_latest_reply.gif"; ! $images['icon_newest_reply'] = "$current_template_phpbb_images/icon_newest_reply.gif"; ! $images['forum'] = "$current_template_phpbb_images/folder_big.gif"; ! $images['forum_new'] = "$current_template_phpbb_images/folder_new_big.gif"; ! $images['forum_locked'] = "$current_template_phpbb_images/folder_locked_big.gif"; ! $images['folder'] = "$current_template_phpbb_images/folder.gif"; ! $images['folder_new'] = "$current_template_phpbb_images/folder_new.gif"; ! $images['folder_hot'] = "$current_template_phpbb_images/folder_hot.gif"; ! $images['folder_hot_new'] = "$current_template_phpbb_images/folder_new_hot.gif"; ! $images['folder_locked'] = "$current_template_phpbb_images/folder_lock.gif"; ! $images['folder_locked_new'] = "$current_template_phpbb_images/folder_lock_new.gif"; ! $images['folder_sticky'] = "$current_template_phpbb_images/folder_sticky.gif"; ! $images['folder_sticky_new'] = "$current_template_phpbb_images/folder_sticky_new.gif"; ! $images['folder_announce'] = "$current_template_phpbb_images/folder_announce.gif"; ! $images['folder_announce_new'] = "$current_template_phpbb_images/folder_announce_new.gif"; ! $images['post_new'] = "$current_template_phpbb_images/{LANG}/post.gif"; ! $images['post_locked'] = "$current_template_phpbb_images/{LANG}/reply-locked.gif"; ! $images['reply_new'] = "$current_template_phpbb_images/{LANG}/reply.gif"; ! $images['reply_locked'] = "$current_template_phpbb_images/{LANG}/reply-locked.gif"; ! $images['pm_inbox'] = "$current_template_phpbb_images/msg_inbox.gif"; ! $images['pm_outbox'] = "$current_template_phpbb_images/msg_outbox.gif"; ! $images['pm_savebox'] = "$current_template_phpbb_images/msg_savebox.gif"; ! $images['pm_sentbox'] = "$current_template_phpbb_images/msg_sentbox.gif"; ! $images['pm_readmsg'] = "$current_template_phpbb_images/folder.gif"; ! $images['pm_unreadmsg'] = "$current_template_phpbb_images/folder_new.gif"; ! $images['pm_replymsg'] = "$current_template_phpbb_images/{LANG}/reply.gif"; ! $images['pm_postmsg'] = "$current_template_phpbb_images/{LANG}/msg_newpost.gif"; ! $images['pm_quotemsg'] = "$current_template_phpbb_images/{LANG}/icon_quote.gif"; ! $images['pm_editmsg'] = "$current_template_phpbb_images/{LANG}/icon_edit.gif"; $images['pm_new_msg'] = ""; $images['pm_no_new_msg'] = ""; *************** *** 213,227 **** $images['Topic_watch'] = ""; $images['topic_un_watch'] = ""; ! $images['topic_mod_lock'] = "$current_template_images/topic_lock.gif"; ! $images['topic_mod_unlock'] = "$current_template_images/topic_unlock.gif"; ! $images['topic_mod_split'] = "$current_template_images/topic_split.gif"; ! $images['topic_mod_move'] = "$current_template_images/topic_move.gif"; ! $images['topic_mod_delete'] = "$current_template_images/topic_delete.gif"; ! $images['voting_graphic'][0] = "$current_template_images/voting_bar.gif"; ! $images['voting_graphic'][1] = "$current_template_images/voting_bar.gif"; ! $images['voting_graphic'][2] = "$current_template_images/voting_bar.gif"; ! $images['voting_graphic'][3] = "$current_template_images/voting_bar.gif"; ! $images['voting_graphic'][4] = "$current_template_images/voting_bar.gif"; */ --- 212,271 ---- $images['Topic_watch'] = ""; $images['topic_un_watch'] = ""; ! $images['topic_mod_lock'] = "$current_template_phpbb_images/topic_lock.gif"; ! $images['topic_mod_unlock'] = "$current_template_phpbb_images/topic_unlock.gif"; ! $images['topic_mod_split'] = "$current_template_phpbb_images/topic_split.gif"; ! $images['topic_mod_move'] = "$current_template_phpbb_images/topic_move.gif"; ! $images['topic_mod_delete'] = "$current_template_phpbb_images/topic_delete.gif"; ! $images['voting_graphic'][0] = "$current_template_phpbb_images/voting_bar.gif"; ! $images['voting_graphic'][1] = "$current_template_phpbb_images/voting_bar.gif"; ! $images['voting_graphic'][2] = "$current_template_phpbb_images/voting_bar.gif"; ! $images['voting_graphic'][3] = "$current_template_phpbb_images/voting_bar.gif"; ! $images['voting_graphic'][4] = "$current_template_phpbb_images/voting_bar.gif"; ! */ ! ! // ! // Repopulate the $theme colors - for standalone mxBB ! // ! /* ! $template_config_row['body_background'] = ""; ! $template_config_row['body_bgcolor'] = "E5E5E5"; ! $template_config_row['body_text'] = "000000"; ! $template_config_row['body_link'] = "006699"; ! $template_config_row['body_vlink'] = "5493B4"; ! $template_config_row['body_alink'] = ""; ! $template_config_row['body_hlink'] = "DD6900"; ! $template_config_row['tr_color1'] = "EFEFEF"; ! $template_config_row['tr_color2'] = "DEE3E7"; ! $template_config_row['tr_color3'] = "D1D7DC"; ! $template_config_row['tr_class1'] = ""; ! $template_config_row['tr_class2'] = ""; ! $template_config_row['tr_class3'] = ""; ! $template_config_row['th_color1'] = "98AAB1"; ! $template_config_row['th_color2'] = "006699"; ! $template_config_row['th_color3'] = "FFFFFF"; ! $template_config_row['th_class1'] = "cellpic1.gif"; ! $template_config_row['th_class2'] = "cellpic3.gif"; ! $template_config_row['th_class3'] = "cellpic2.jpg"; ! $template_config_row['td_color1'] = "FAFAFA"; ! $template_config_row['td_color2'] = "FFFFFF"; ! $template_config_row['td_color3'] = ""; ! $template_config_row['td_class1'] = "row1"; ! $template_config_row['td_class2'] = "row2"; ! $template_config_row['td_class3'] = ""; ! $template_config_row['fontface1'] = "Verdana, Arial, Helvetica, sans-serif"; ! $template_config_row['fontface2'] = "Trebuchet MS"; ! $template_config_row['fontface3'] = "Courier, \'Courier New\', sans-serif"; ! $template_config_row['fontsize1'] = "10"; ! $template_config_row['fontsize2'] = "11"; ! $template_config_row['fontsize3'] = "12"; ! $template_config_row['fontcolor1'] = "444444"; ! $template_config_row['fontcolor2'] = "006600"; ! $template_config_row['fontcolor3'] = "FFA34F"; ! $template_config_row['span_class1'] = ""; ! $template_config_row['span_class2'] = ""; ! $template_config_row['span_class3'] = ""; ! $template_config_row['img_size_poll'] = "0"; ! $template_config_row['img_size_privmsg'] = "0"; */ *************** *** 230,233 **** --- 274,282 ---- \********************************************************************************/ // + // Logo + // + $mx_images['mx_logo'] = "$current_template_images/logo.gif";; + + // // SiteLog // --- overall_header.tpl DELETED --- --- message_body.tpl DELETED --- --- login_body.tpl DELETED --- --- overall_footer.tpl DELETED --- --- overall_noheader.tpl DELETED --- |
Update of /cvsroot/mxbb/core/templates/subSilver/images/page_icons In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10026/subSilver/images/page_icons Removed Files: icon_blog.gif icon_calendar.gif icon_clock.gif icon_computer.gif icon_dl.gif icon_doc.gif icon_docs.gif icon_edit.gif icon_forbidden.gif icon_forum.gif icon_gallery.gif icon_game.gif icon_groups.gif icon_help.gif icon_home.gif icon_lock.gif icon_login.gif icon_mail.gif icon_members.gif icon_movie.gif icon_mp3.gif icon_paper.gif icon_phone.gif icon_post.gif icon_print.gif icon_profile.gif icon_search.gif icon_select.gif icon_stats.gif icon_theme.gif icon_trash.gif icon_tv.gif icon_url.gif Log Message: Ok, massive update for 2.9.x. --- icon_blog.gif DELETED --- --- icon_stats.gif DELETED --- --- icon_tv.gif DELETED --- --- icon_print.gif DELETED --- --- icon_paper.gif DELETED --- --- icon_select.gif DELETED --- --- icon_search.gif DELETED --- --- icon_theme.gif DELETED --- --- icon_dl.gif DELETED --- --- icon_mail.gif DELETED --- --- icon_login.gif DELETED --- --- icon_forbidden.gif DELETED --- --- icon_computer.gif DELETED --- --- icon_profile.gif DELETED --- --- icon_help.gif DELETED --- --- icon_members.gif DELETED --- --- icon_lock.gif DELETED --- --- icon_mp3.gif DELETED --- --- icon_home.gif DELETED --- --- icon_doc.gif DELETED --- --- icon_phone.gif DELETED --- --- icon_groups.gif DELETED --- --- icon_post.gif DELETED --- --- icon_edit.gif DELETED --- --- icon_movie.gif DELETED --- --- icon_docs.gif DELETED --- --- icon_gallery.gif DELETED --- --- icon_trash.gif DELETED --- --- icon_url.gif DELETED --- --- icon_game.gif DELETED --- --- icon_forum.gif DELETED --- --- icon_calendar.gif DELETED --- --- icon_clock.gif DELETED --- |
Update of /cvsroot/mxbb/core/templates/subSilver/images/menu_icons In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10026/subSilver/images/menu_icons Removed Files: icon_bg.gif icon_bg_hot.gif icon_blank.gif icon_blank_hot.gif icon_blog.gif icon_blog_hot.gif icon_calendar.gif icon_calendar_hot.gif icon_cart.gif icon_cart_hot.gif icon_cellphone.gif icon_cellphone_hot.gif icon_clock.gif icon_clock_hot.gif icon_computer.gif icon_computer_hot.gif icon_dl.gif icon_dl_hot.gif icon_doc.gif icon_doc_hot.gif icon_docs.gif icon_docs_hot.gif icon_dot.gif icon_dot_hot.gif icon_exit.gif icon_exit_hot.gif icon_faq.gif icon_faq_hot.gif icon_forbidden.gif icon_forbidden_hot.gif icon_forum.gif icon_forum_hot.gif icon_gallery.gif icon_gallery_hot.gif icon_game.gif icon_game_hot.gif icon_groups.gif icon_groups_hot.gif icon_home.gif icon_home_hot.gif icon_info.gif icon_info_hot.gif icon_key.gif icon_key_hot.gif icon_list.gif icon_list_hot.gif icon_lock.gif icon_lock_hot.gif icon_login.gif icon_login_hot.gif icon_mail.gif icon_mail_hot.gif icon_members.gif icon_members_hot.gif icon_message.gif icon_message_hot.gif icon_mp3.gif icon_mp3_hot.gif icon_notify.gif icon_notify_hot.gif icon_phone.gif icon_phone_hot.gif icon_post.gif icon_post_hot.gif icon_print.gif icon_print_hot.gif icon_profile.gif icon_profile_hot.gif icon_register.gif icon_register_hot.gif icon_reply.gif icon_reply_hot.gif icon_save.gif icon_save_hot.gif icon_search.gif icon_search_hot.gif icon_stats.gif icon_stats_hot.gif icon_theme.gif icon_theme_hot.gif icon_trash.gif icon_trash_hot.gif icon_tv.gif icon_tv_hot.gif icon_url.gif icon_url_hot.gif icon_zoom_in.gif icon_zoom_in_hot.gif icon_zoom_out.gif icon_zoom_out_hot.gif spacer.gif Log Message: Ok, massive update for 2.9.x. --- icon_zoom_out_hot.gif DELETED --- --- icon_mail_hot.gif DELETED --- --- icon_tv.gif DELETED --- --- icon_reply.gif DELETED --- --- icon_search.gif DELETED --- --- icon_message_hot.gif DELETED --- --- icon_dl_hot.gif DELETED --- --- icon_clock_hot.gif DELETED --- --- icon_trash_hot.gif DELETED --- --- icon_info.gif DELETED --- --- icon_phone_hot.gif DELETED --- --- icon_profile.gif DELETED --- --- icon_bg_hot.gif DELETED --- --- icon_exit.gif DELETED --- --- icon_home.gif DELETED --- --- spacer.gif DELETED --- --- icon_lock.gif DELETED --- --- icon_trash.gif DELETED --- --- icon_docs_hot.gif DELETED --- --- icon_list.gif DELETED --- --- icon_bg.gif DELETED --- --- icon_zoom_in.gif DELETED --- --- icon_save_hot.gif DELETED --- --- icon_forum.gif DELETED --- --- icon_stats.gif DELETED --- --- icon_url.gif DELETED --- --- icon_cellphone_hot.gif DELETED --- --- icon_theme.gif DELETED --- --- icon_blog.gif DELETED --- --- icon_zoom_in_hot.gif DELETED --- --- icon_login.gif DELETED --- --- icon_save.gif DELETED --- --- icon_forbidden.gif DELETED --- --- icon_members.gif DELETED --- --- icon_search_hot.gif DELETED --- --- icon_home_hot.gif DELETED --- --- icon_mp3.gif DELETED --- --- icon_theme_hot.gif DELETED --- --- icon_cart_hot.gif DELETED --- --- icon_blank_hot.gif DELETED --- --- icon_doc.gif DELETED --- --- icon_login_hot.gif DELETED --- --- icon_groups.gif DELETED --- --- icon_doc_hot.gif DELETED --- --- icon_members_hot.gif DELETED --- --- icon_cellphone.gif DELETED --- --- icon_game_hot.gif DELETED --- --- icon_register.gif DELETED --- --- icon_tv_hot.gif DELETED --- --- icon_computer_hot.gif DELETED --- --- icon_blog_hot.gif DELETED --- --- icon_stats_hot.gif DELETED --- --- icon_groups_hot.gif DELETED --- --- icon_faq_hot.gif DELETED --- --- icon_exit_hot.gif DELETED --- --- icon_gallery.gif DELETED --- --- icon_docs.gif DELETED --- --- icon_profile_hot.gif DELETED --- --- icon_calendar.gif DELETED --- --- icon_list_hot.gif DELETED --- --- icon_forbidden_hot.gif DELETED --- --- icon_print_hot.gif DELETED --- --- icon_message.gif DELETED --- --- icon_lock_hot.gif DELETED --- --- icon_register_hot.gif DELETED --- --- icon_faq.gif DELETED --- --- icon_print.gif DELETED --- --- icon_url_hot.gif DELETED --- --- icon_dl.gif DELETED --- --- icon_zoom_out.gif DELETED --- --- icon_mail.gif DELETED --- --- icon_info_hot.gif DELETED --- --- icon_computer.gif DELETED --- --- icon_calendar_hot.gif DELETED --- --- icon_dot_hot.gif DELETED --- --- icon_cart.gif DELETED --- --- icon_blank.gif DELETED --- --- icon_reply_hot.gif DELETED --- --- icon_key.gif DELETED --- --- icon_phone.gif DELETED --- --- icon_post.gif DELETED --- --- icon_post_hot.gif DELETED --- --- icon_notify.gif DELETED --- --- icon_gallery_hot.gif DELETED --- --- icon_mp3_hot.gif DELETED --- --- icon_notify_hot.gif DELETED --- --- icon_game.gif DELETED --- --- icon_key_hot.gif DELETED --- --- icon_forum_hot.gif DELETED --- --- icon_clock.gif DELETED --- --- icon_dot.gif DELETED --- |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:51:00
|
Update of /cvsroot/mxbb/core/templates/subSilver/images In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10026/subSilver/images Removed Files: index.php logo.gif spacer.gif Log Message: Ok, massive update for 2.9.x. --- logo.gif DELETED --- --- spacer.gif DELETED --- --- index.php DELETED --- |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:51:00
|
Update of /cvsroot/mxbb/core/templates/subSilver/images/block_icons In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10026/subSilver/images/block_icons Removed Files: block_cache.gif block_delete.gif block_edit.gif block_edit_admin.gif block_edit_split.gif block_hidden.gif block_move_down.gif block_move_left.gif block_move_right.gif block_move_up.gif contract.gif expand.gif spacer.gif Log Message: Ok, massive update for 2.9.x. --- spacer.gif DELETED --- --- block_hidden.gif DELETED --- --- block_edit_split.gif DELETED --- --- block_move_left.gif DELETED --- --- block_move_right.gif DELETED --- --- block_delete.gif DELETED --- --- expand.gif DELETED --- --- block_move_down.gif DELETED --- --- block_edit.gif DELETED --- --- block_move_up.gif DELETED --- --- contract.gif DELETED --- --- block_cache.gif DELETED --- --- block_edit_admin.gif DELETED --- |
Update of /cvsroot/mxbb/core/templates/subSilver/admin In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10026/subSilver/admin Removed Files: admin_mx_meta.tpl admin_mx_phpinfo.tpl admin_mx_portal.tpl index.htm index_body.tpl index_frameset.tpl index_navigate.tpl mx_blockcp_admin_body.tpl mx_core_parameters.tpl mx_module_admin_body.tpl mx_modulecp_admin_body.tpl mx_pagecp_admin_body.tpl page_footer.tpl page_header.tpl Log Message: Ok, massive update for 2.9.x. --- admin_mx_phpinfo.tpl DELETED --- --- index_body.tpl DELETED --- --- admin_mx_meta.tpl DELETED --- --- page_header.tpl DELETED --- --- mx_blockcp_admin_body.tpl DELETED --- --- admin_mx_portal.tpl DELETED --- --- mx_module_admin_body.tpl DELETED --- --- mx_modulecp_admin_body.tpl DELETED --- --- page_footer.tpl DELETED --- --- index.htm DELETED --- --- index_frameset.tpl DELETED --- --- mx_pagecp_admin_body.tpl DELETED --- --- mx_core_parameters.tpl DELETED --- --- index_navigate.tpl DELETED --- |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:50:54
|
Update of /cvsroot/mxbb/core/templates/subSilver/images/admin_icons In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10026/subSilver/images/admin_icons Removed Files: contract.gif expand.gif icon_block.gif icon_dot.gif icon_edit.gif icon_function.gif icon_module.gif icon_page.gif icon_page_column.gif icon_parameter.gif icon_search.gif nav_menu.gif script.gif Log Message: Ok, massive update for 2.9.x. --- icon_page_column.gif DELETED --- --- icon_function.gif DELETED --- --- icon_block.gif DELETED --- --- icon_edit.gif DELETED --- --- expand.gif DELETED --- --- nav_menu.gif DELETED --- --- icon_module.gif DELETED --- --- script.gif DELETED --- --- icon_search.gif DELETED --- --- contract.gif DELETED --- --- icon_parameter.gif DELETED --- --- icon_page.gif DELETED --- --- icon_dot.gif DELETED --- |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:50:54
|
Update of /cvsroot/mxbb/core/templates/prosilver In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10026/prosilver Added Files: gecko.css index.htm mx_main_layout.html overall_footer.html overall_header.html overall_header_navigation.html prosilver.cfg prosilver.css Log Message: Ok, massive update for 2.9.x. --- NEW FILE: overall_header_navigation.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="{S_CONTENT_DIRECTION}"> <head> <meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}"> <meta http-equiv="Content-Style-Type" content="text/css"> <!-- BEGIN switch_set_base --> <base href="{U_PORTAL_ROOT_PATH}" > <!-- END switch_set_base --> {META} {NAV_LINKS} <title>{SITENAME} :: {PAGE_TITLE}</title> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <link rel="stylesheet" href="{U_PHPBB_ROOT_PATH}styles/prosilver/theme/stylesheet.css" type="text/css" > <!-- Then load mxBB template *.css definition for mx, located in the the portal template folder --> <link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_MXBB_STYLESHEET}" type="text/css" > <!-- Optionally, redefine some defintions for gecko browsers --> <!-- BEGIN switch_gecko --><link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}templates/prosilver/{T_GECKO_STYLESHEET}" type="text/css" ><!-- END switch_gecko --> <style type="text/css"> <!-- body { /* Text-Sizing with ems: http://www.clagnut.com/blog/348/ */ font-family: Verdana, Helvetica, Arial, sans-serif; color: #828282; background-color: #FFFFFF; /*font-size: 62.5%; This sets the default font size to be equivalent to 10px */ font-size: 10px; margin: 0; padding: 12px 0; display: block; list-style-type: none; color: #777777; margin: 0; color: #4C5D77; } body { font-size: 10px; margin:0px; padding:0px; /* Opera 0 margin */ text-align: center; /* center in IE */ } p, td { font-size: 11px; color: #000000; } /* This is the main table round all portal contents, use with .bodyline */ .mx_main_table { } /* This is the outline table round the overall page header */ .mx_header_table { background-color: #FFFFFF; border: 2px solid #006699; } /* This is the outline table round the columns/blocks, that is the table below the header */ .mx_body_table { } /* This is the outer outline table round the blocks */ .mx_graphborder { } /* Table styles */ table { width: 100%; border: 1px solid #CCCFD3; background-color: #FFFFFF; padding: 1px; } th { padding: 3px 4px; color: #FFFFFF; background: #70AED3 url("{U_PHPBB_ROOT_PATH}templates/prosilver/theme/images/bg_list.gif") bottom left repeat-x; border-top: 1px solid #6DACD2; border-bottom: 1px solid #327AA5; text-align: left; font-size: 0.75em; text-transform: uppercase; } th.1 { color: #B7BAC5; font-size: 11px; font-weight : bold; BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background:#70AED3; height: 25px; background-image: url({U_PHPBB_ROOT_PATH}templates/prosilver/theme/images/bg_list.gif); } td { text-align: left; line-height: 1.20em; } th.thHead { background: url({U_PHPBB_ROOT_PATH}templates/prosilver/theme/images/bg_list.gif) left; } td.cat,td.catHead,td.catSides,td.catLeft,td.catRight,td.catBottom { BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background-image: url({U_PHPBB_ROOT_PATH}templates/prosilver/theme/images/gradient.gif); background:#D1D7DC; font-size: 12px; } th.thSides,td.catSides,td.spaceRow { border-width: 0px 1px 0px 1px; } th.thRight,td.catRight,td.row3Right { border-width: 0px 1px 0px 0px; } th.thLeft,td.catLeft { border-width: 0px 0px 0px 1px; } th.thBottom,td.catBottom { border-width: 0px 1px 1px 1px; } th.thTop { border-width: 1px 0px 0px 0px; } th.thCornerL { border-width: 1px 0px 0px 1px; } th.thCornerR { border-width: 1px 1px 0px 0px; } td.row3Right,td.spaceRow { font-size: 12px; background-color: #B9B9B9; BORDER-TOP: #B7B7B7 1px solid; BORDER-BOTTOM: #E7E7E7 1px solid; BORDER-LEFT: #B7B7B7 1px solid; BORDER-RIGHT: #E7E7E7 1px solid; } td.catHead { font-size: 12px; BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background:#1E1E2A; } td.catSides { BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background:#1E1E2A; } td.catRight { BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background:#1E1E2A; } td.catLeft { BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background:#1E1E2A; } td.catBottom { BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background:#1E1E2A; } .rtl th, .rtl td { text-align: right; } table.type2 { border: none; background: none; padding: 0; } table.type2 th { background: none; border-top: none; text-align: center; color: #115098; padding: 2px 0; } table.type2 td { padding: 0; font-size: 11px; } table.type2 td.name { padding: 2px; vertical-align: middle; } table.type3 { float: right; width: 300px; border: none; background-color: transparent; padding: 0; } .rtl table.type3 { float: left; } table.type3 thead th { background-color: transparent; border-top: none; text-align: center; color: #115098; padding: 0 3px; font-size: 11px; font-weight: normal; text-transform: none; } table.type3 tbody th { border-top: none; text-align: left; text-transform: none; padding: 0; border: none; font-size: 12px; font-weight: normal; width: 100%; } .rtl table.type3 tbody th { text-align: right; } table.type3 td { text-align: center; padding: 1px; } th.name { text-align: left; width: auto; } .rtl th.name { text-align: right; } td.name { text-align: left; font-weight: bold; } .rtl td.name { text-align: right; } .entry { text-align: left; font-weight: normal; } .rtl .entry { text-align: right; } .row1 { background-color: #F9F9F9; } .row2 { background-color: #DCEBFE; } .row3 { background-color: #DBDFE2; } .row4 { background-color: #E4E8EB; } .col1 { background-color: #DCEBFE; } .col2 { background-color: #F9F9F9; } .spacer { background-color: #DBDFE2; height: 1px; line-height: 1px; } /* These are the main mx column styles */ td.leftcol { } td.middlecol { } td.rightcol { } /* This is the style used for the top page title. */ .pagetitle { font-weight: bold; font-size: 30px; font-family: "Comic Sans MS", Verdana, Arial, Helvetica, sans-serif; text-decoration: none; line-height : 120%; color : #000066; font-variant: small-caps; text-transform: capitalize; letter-spacing: 5px; vertical-align: 20%; } /* This is the style used for the top site title. */ .sitetitle { font-family: Arial; font-variant: small-caps; font-weight: bolder; font-size: 12pt; color: #000066; } /* This is the style used for the top site description. */ .sitetitle_desc { color: #006699; font-size: 9px; } /* Customized hr below site title */ hr.hrtop { height: 3px; border: solid #000066 1px; border-top-width: 1px; } /* For all contract/expand rollup buttons */ .mx_rollup_button { font-size: 11px; margin: 0px; padding: 0px; cursor: pointer; cursor: hand; } /* Form elements */ form { margin-bottom: 0px; } /* Form elements */ form.mx_editform { margin-bottom: 0px; margin-top: 0px; } /* This is the border around numbers in pagination */ .mx_pagination, .mx_pagination_sele, .mx_pagination_over { padding-left: 2px; padding-right: 2px; border-top: 1px solid #B0B0B0; border-right: 1px solid #B0B0B0; border-bottom: 1px solid #B0B0B0; border-left: 1px solid #B0B0B0; text-decoration: none; } .mx_pagination_sele { background-color: #E0E0E0; } .mx_pagination_over { background-color: #F0F0F0; } .shadow { color: #00AA00; filter: DropShadow(Color=#660000, OffX=5, OffY=5, Positive=1); } img.shadow { color: #00AA00; filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=5, OffY=5, Color='gray', Positive='true'); } --> </style> {MX_ADDITIONAL_CSS} {MX_ICON_CSS} <script type="text/javascript" src="{U_PHPBB_ROOT_PATH}templates/prosilver/forum_fn.js"></script> <!-- BEGIN switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- if( {PRIVATE_MESSAGE_NEW_FLAG} ) { window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); } // --></script> <!-- END switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- function checkSearch() { if (document.search_block.search_engine.value == 'google') { window.open('http://www.google.com/search?q=' + document.search_block.search_keywords.value, '_google', ''); return false; } else if (document.search_block.search_engine.value == 'site') { window.open('{U_SEARCH_SITE}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'kb') { window.open('{U_SEARCH_KB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'pafiledb') { window.open('{U_SEARCH_PAFILEDB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else { return true; } } // --></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Common.js"></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Toggle.js"></script> </head> <body id="mxbb" class="section-index {S_CONTENT_DIRECTION}"> <div id="wrap"> <a name="top" id="top"></a> <div id="page-header"> <div class="headerbar"> <div class="inner"><span class="corners-top"><span></span></span> <div id="site-description"> <a href="{U_INDEX}" title="{L_INDEX}" id="logo"><img src="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}images/logo.gif" border="0" alt="{L_INDEX}" vspace="1"/></a> <h1>{SITENAME}</h1> <p>{SITE_DESCRIPTION}</p> <p style="display: none;"><a href="#start_here">{L_SKIP}</a></p> </div> <div id="search-box"> <form action="{U_SEARCH}" method="get" id="search"> <fieldset> <input name="search_keywords" id="keywords" type="text" maxlength="128" title="" class="inputbox search" value="{L_SEARCH}..." onclick="if(this.value=='{L_SEARCH}...')this.value='';" onblur="if(this.value=='')this.value='{L_SEARCH}...';" /> <input class="button2" value="{L_SEARCH}" type="submit" /><br /> {S_HIDDEN_FIELDS} </fieldset> </form> </div> <span class="corners-bottom"><span></span></span></div> </div> <div class="navbar"> <div class="inner"><span class="corners-top"><span></span></span> <ul class="linklist navlinks"> <!-- BEGIN switch_user_logged_out --> <li class="linklist"> <a href="{U_REGISTER}" class="mainmenu"><img src="{NAV_IMAGES_REGISTER}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_REGISTER}" class="mainmenu">{L_REGISTER}</a> </li> <!-- END switch_user_logged_out --> <li class="linklist"> <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="{NAV_IMAGES_LOGIN_LOGOUT}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_LOGIN_LOGOUT}" class="mainmenu">{L_LOGIN_LOGOUT}</a></span> </li> </ul> <span class="corners-bottom"><span></span></span> </div> </div> <!-- BEGIN switch_view --> <ul> <li><span class="gensmall">{CURRENT_TIME}</span></li> </ul> <ul> <li><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></li> </ul> <!-- END switch_view --> <!-- BEGIN phpbb_stats --> <ul> <li align="left" valign="top" ><span class="gensmall"> <!-- BEGIN switch_user_logged_in --> {LAST_VISIT_DATE}<br /> <!-- END switch_user_logged_in --> {CURRENT_TIME}<br /></span> </li> <li align="right" valign="top" > <!-- BEGIN switch_user_logged_in --> <a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br /> <!-- END switch_user_logged_in --> <a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a> </li> </ul> <!-- END phpbb_stats --> </div> <a name="start_here"></a> <div id="page-body"> <li>{OVERALL_NAVIGATION}</li> --- NEW FILE: prosilver.css --- /************************************************************\ | Addon or redefined CSS definitions for mxBB-Portal \************************************************************/ p, td { font-size: 11px; color: #000000; } /* This is the main table round all portal contents, use with .bodyline */ .mx_main_table { } /* This is the outline table round the overall page header */ .mx_header_table { background-color: #FFFFFF; border: 2px solid #006699; } /* This is the outline table round the columns/blocks, that is the table below the header */ .mx_body_table { } /* This is the outer outline table round the blocks */ .mx_graphborder { } /* These are the main mx column styles */ td.leftcol { } td.middlecol { } td.rightcol { } /* This is the style used for the top page title. */ .pagetitle { font-weight: bold; font-size: 30px; font-family: "Comic Sans MS", Verdana, Arial, Helvetica, sans-serif; text-decoration: none; line-height : 120%; color : #000066; font-variant: small-caps; text-transform: capitalize; letter-spacing: 5px; vertical-align: 20%; } /* This is the style used for the top site title. */ .sitetitle { font-family: Arial; font-variant: small-caps; font-weight: bolder; font-size: 12pt; color: #000066; } /* This is the style used for the top site description. */ .sitetitle_desc { color: #006699; font-size: 9px; } /* Customized hr below site title */ hr.hrtop { height: 3px; border: solid #000066 1px; border-top-width: 1px; } /* For all contract/expand rollup buttons */ .mx_rollup_button { font-size: 11px; margin: 0px; padding: 0px; cursor: pointer; cursor: hand; } /* Form elements */ form { margin-bottom: 0px; } /* Form elements */ form.mx_editform { margin-bottom: 0px; margin-top: 0px; } /* This is the border around numbers in pagination */ .mx_pagination, .mx_pagination_sele, .mx_pagination_over { padding-left: 2px; padding-right: 2px; border-top: 1px solid #B0B0B0; border-right: 1px solid #B0B0B0; border-bottom: 1px solid #B0B0B0; border-left: 1px solid #B0B0B0; text-decoration: none; } .mx_pagination_sele { background-color: #E0E0E0; } .mx_pagination_over { background-color: #F0F0F0; } .shadow { color: #00AA00; filter: DropShadow(Color=#660000, OffX=5, OffY=5, Positive=1); } img.shadow { color: #00AA00; filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=5, OffY=5, Color='gray', Positive='true'); } --- NEW FILE: overall_footer.html --- <div align="center" id="page-footer"> <span class="copyright"> <!-- BEGIN editcp_exists --> <span class="genmed">{editcp_exists.ADMIN_OPTIONS}</span> <span class="newsbutton" onclick="mx_toggle_editCP(this, 'editCP_switch', '{editcp_exists.EDITCP_EXPAND_IMG}', '{editcp_exists.EDITCP_CONTRACT_IMG}');"><img src="{editcp_exists.EDITCP_DYNAMIC_IMG}" border="0" alt="" /></span><br /> <!-- END editcp_exists --> {ADMIN_LINK}<br /> <!-- We request you retain the full copyright notice below including the link to www.phpbb.com. This not only gives respect to the large amount of time given freely by the developers but also helps build interest, traffic and use of phpBB 2.0. If you cannot (for good reason) retain the full copyright we request you at least leave in place the Powered by phpBB line, with phpBB linked to www.phpbb.com. If you refuse to include even this then support on our forums may be affected. The phpBB Group : 2002 & mxBB Team : 2002 // --> {POWERED_BY} <a href="http://www.mx-system.com/" target="_mx-system" class="copyright">mxBB Portal</a> {MX_VERSION} © 2001-2007 & <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB</a> {PHPBB_VERSION} © 2000, 2002, 2005, 2007 phpBB Group | {MXBB_EXTRA} </div> <a name="bot" id="bot"></a></td></tr></table></td></tr></table> <!-- This displays generation info at the bottom of the page --> {EXECUTION_STATS} </body> </html> --- NEW FILE: prosilver.cfg --- <?php /** * * @package mxBB Portal Core * @version $Id: prosilver.cfg,v 1.1 2007/09/09 16:50:46 jonohlsson Exp $ * @copyright (c) 2002-2006 mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ /** Original theme by: * * copyright (C) 2001 The phpBB Group * Created by subBlue design * www.subBlue.com * subSilver dev. forum: www.subSky.com/phpBB2/ * */ /** Adapted for mxBB by: * * The mxBB Development Team * Version: 1.0 * Requirements: mxBB Core 2.8.x * */ $mx_template_settings['portal_backend'] = 'phpbb3'; // // Do not alter this line! // define(MX_TEMPLATE_CONFIG, true); $mx_template_config = true; /********************************************************************************\ | Template Setup | - define general template settings \********************************************************************************/ // // Credits, copyrights etc $mx_template_settings['template_copy'] = 'Original subSilver theme for phpBB by <a href="http://www.subSky.com/phpBB2/">subBlue design</a> :: Adapted for mxBB by <a href="http://www.mxbb.net">The mxBB Development Team</a>'; // // When creating a new template, you normally "clone" a template and modify a number of *.tpl files. // For similar templates this means only a few files are different. // For example: you may have a template similar to subSilver, but with a different overall_header.tpl - the other files are identical. // Then this template should only contain one *.tpl file, namely overall_header.tpl, // and with $mx_template_settings['cloned_template'] = 'subSilver'. // If this template is a full set of *.tpl files, leave this blank. $mx_template_settings['cloned_template'] = ''; // // Block border graphics are defined in mx_main_layout.tpl, within the 'graph_border' template environment. // Turning this setting 'false' will disable block border graphics. $mx_template_settings['border_graphics'] = false; /********************************************************************************\ | Define what graphics bundles to use | - these are very handy paths to ALL kind of phpBB/mxBB graphics \********************************************************************************/ $mx_images['mx_graphics']['general'] = $current_template_path . "/images"; $mx_images['mx_graphics']['page_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/page_icons" ) ? $current_template_path . "/images/page_icons" : $cloned_template_path . "/images/page_icons"; $mx_images['mx_graphics']['block_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/block_icons" ) ? $current_template_path . "/images/block_icons" : $cloned_template_path . "/images/block_icons"; $mx_images['mx_graphics']['menu_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/menu_icons" ) ? $current_template_path . "/images/menu_icons" : $cloned_template_path . "/images/menu_icons"; $mx_images['mx_graphics']['admin_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/admin_icons" ) ? $current_template_path . "/images/admin_icons" : $cloned_template_path . "/images/admin_icons"; $mx_images['mx_graphics']['phpbb_icons'] = file_exists( $phpbb_root_path . $current_template_path . "/images" ) ? $current_template_path . "/images" : $cloned_template_path . "/images"; // // Prefix all paths to get full img URLs // $current_template_images = PORTAL_URL . $mx_images['mx_graphics']['general']; // Logo etc $current_template_page_images = PORTAL_URL . $mx_images['mx_graphics']['page_icons']; // Used by adminCP - Pages $current_template_block_images = PORTAL_URL . $mx_images['mx_graphics']['block_icons']; // Used by userCP block buttons $current_template_menu_images = PORTAL_URL . $mx_images['mx_graphics']['menu_icons']; // Used by adminCP - Navigation Menu $current_template_admin_images = PORTAL_URL . $mx_images['mx_graphics']['admin_icons']; // Internal graphics for the mxBB adminCP $current_template_phpbb_images = PHPBB_URL . $mx_images['mx_graphics']['phpbb_icons']; // phpBB graphics template // // Define the icon css style // $mx_images['mx_graphics']['icon_style'] = '<style type="text/css"> .mx_icon { vertical-align: middle; background-color:; background-image: url('.$current_template_menu_images.'/icon_bg.gif); background-repeat: no-repeat; } .mx_icon_hot { vertical-align: middle; background-color:; background-image: url('.$current_template_menu_images.'/icon_bg.gif); background-repeat: no-repeat; } </style>'; /********************************************************************************\ | Page Navigation Images | 1. If you want to control the overall_header.tpl images from this *.cfg file, make defintions below | 2. Or if not, use hardcoded image paths in overall_header.tpl, just like in the phpBB standard subSilver overall_header.tpl. \********************************************************************************/ // // Use mxBB graphics - normally the menu_icons bundle // $mx_images['mx_nav_home'] = "$current_template_menu_images/icon_home.gif"; // {NAV_IMAGES_HOME} $mx_images['mx_nav_forum'] = "$current_template_menu_images/icon_forum.gif"; // {NAV_IMAGES_FORUM} $mx_images['mx_nav_profile'] = "$current_template_menu_images/icon_profile.gif"; // {NAV_IMAGES_PROFILE} $mx_images['mx_nav_faq'] = "$current_template_menu_images/icon_faq.gif"; // {NAV_IMAGES_FAQ} $mx_images['mx_nav_search'] = "$current_template_menu_images/icon_search.gif"; // {NAV_IMAGES_SEARCH} $mx_images['mx_nav_members'] = "$current_template_menu_images/icon_members.gif"; // {NAV_IMAGES_MEMBERS} $mx_images['mx_nav_groups'] = "$current_template_menu_images/icon_groups.gif"; // {NAV_IMAGES_GROUPS} $mx_images['mx_nav_mail'] = "$current_template_menu_images/icon_mail.gif"; // {NAV_IMAGES_PRIVMSG} $mx_images['mx_nav_login'] = "$current_template_menu_images/icon_login.gif"; // {NAV_IMAGES_LOGIN_LOGOUT} $mx_images['mx_nav_register'] = "$current_template_menu_images/icon_register.gif"; // {NAV_IMAGES_REGISTER} // // Use standard phpBB graphics // /* $mx_images['mx_nav_home'] = "$current_template_phpbb_images/icon_minipost.gif"; $mx_images['mx_nav_forum'] = "$current_template_phpbb_images/icon_minipost.gif"; $mx_images['mx_nav_profile'] = "$current_template_phpbb_images/icon_mini_profile.gif"; $mx_images['mx_nav_faq'] = "$current_template_phpbb_images/icon_mini_faq.gif"; $mx_images['mx_nav_search'] = "$current_template_phpbb_images/icon_mini_search.gif"; $mx_images['mx_nav_members'] = "$current_template_phpbb_images/icon_mini_members.gif"; $mx_images['mx_nav_groups'] = "$current_template_phpbb_images/icon_mini_groups.gif"; $mx_images['mx_nav_mail'] = "$current_template_phpbb_images/icon_mini_message.gif"; $mx_images['mx_nav_login'] = "$current_template_phpbb_images/icon_mini_login.gif"; $mx_images['mx_nav_register'] = "$current_template_phpbb_images/icon_mini_register.gif"; */ /********************************************************************************\ | Block Images | - these images are used for the block editCP buttons and controls \********************************************************************************/ $mx_images['mx_contract'] = "$current_template_block_images/contract.gif"; $mx_images['mx_expand'] = "$current_template_block_images/expand.gif"; $mx_images['mx_block_edit_admin'] = "$current_template_block_images/block_edit_admin.gif"; $mx_images['mx_block_edit_split'] = "$current_template_block_images/block_edit_split.gif"; $mx_images['mx_block_edit'] = "$current_template_block_images/block_edit.gif"; $mx_images['mx_block_hidden'] = "$current_template_block_images/block_hidden.gif"; /********************************************************************************\ | adminCP/editCP Images | - these images are used for the adminCP & block editCP \********************************************************************************/ $mx_images['mx_spacer'] = "$current_template_phpbb_images/spacer.gif"; // // phpBB Graphics - redefined for mxBB // - Uncomment and redefine phpBB graphics // // If you need to redefine some phpBB graphics, look within the phpBB/templates folder for the template_name.cfg file and // redefine those $image['xxx'] you want. Note: Many phpBB images are reused all over mxBB (eg see below), thus if you redefine // common phpBB images, this will have immedaite effect for all mxBB pages. // $current_template_images = $current_template_path . "/images"; $images['icon_quote'] = "$current_template_images/{LANG}/icon_quote.gif"; $images['icon_edit'] = "$current_template_images/{LANG}/icon_edit.gif"; $images['icon_profile'] = "$current_template_images/icon_profile.gif"; $images['icon_pm'] = "$current_template_images/icon_pm.gif"; $images['icon_email'] = "$current_template_images/icon_email.gif"; $images['icon_delpost'] = "$current_template_images/icon_delete.gif"; $images['icon_ip'] = "$current_template_images/icon_ip.gif"; $images['icon_www'] = "$current_template_images/icon_www.gif"; $images['icon_icq'] = "$current_template_images/icon_icq_add.gif"; $images['icon_aim'] = "$current_template_images/icon_aim.gif"; $images['icon_yim'] = "$current_template_images/icon_yim.gif"; $images['icon_msnm'] = "$current_template_images/icon_msnm.gif"; $images['icon_minipost'] = "$current_template_images/icon_post_target.gif"; $images['icon_gotopost'] = "$current_template_images/icon_minipost.gif"; $images['icon_minipost_new'] = "$current_template_images/icon_post_target_unread.gif"; $images['icon_latest_reply'] = "$current_template_images/icon_latest_reply.gif"; $images['icon_newest_reply'] = "$current_template_images/icon_newest_reply.gif"; $images['forum'] = "$current_template_images/forum_read.gif"; $images['forum_new'] = "$current_template_images/forum_unread.gif"; $images['forum_locked'] = "$current_template_images/forum_read_locked.gif"; $images['folder'] = "$current_template_images/topic_read.gif"; $images['folder_new'] = "$current_template_images/topic_unread.gif"; $images['folder_hot'] = "$current_template_images/topic_read_hot.gif"; $images['folder_hot_new'] = "$current_template_images/topic_unread_hot.gif"; $images['folder_locked'] = "$current_template_images/topic_read_locked.gif"; $images['folder_locked_new'] = "$current_template_images/topic_unread_locked.gif"; $images['folder_sticky'] = "$current_template_images/sticky_read.gif"; $images['folder_sticky_new'] = "$current_template_images/sticky_unread.gif"; $images['folder_announce'] = "$current_template_images/announce_read.gif"; $images['folder_announce_new'] = "$current_template_images/announce_unread.gif"; $images['post_new'] = "$current_template_images/{LANG}/post.gif"; $images['post_locked'] = "$current_template_images/{LANG}/reply-locked.gif"; $images['reply_new'] = "$current_template_images/{LANG}/reply.gif"; $images['reply_locked'] = "$current_template_images/{LANG}/reply-locked.gif"; $images['pm_inbox'] = "$current_template_images/msg_inbox.gif"; $images['pm_outbox'] = "$current_template_images/msg_outbox.gif"; $images['pm_savebox'] = "$current_template_images/msg_savebox.gif"; $images['pm_sentbox'] = "$current_template_images/msg_sentbox.gif"; $images['pm_readmsg'] = "templates/prosilver/images/topic_read.gif"; $images['pm_unreadmsg'] = "templates/prosilver/images/topic_unread.gif"; $images['pm_replymsg'] = "$current_template_images/{LANG}/reply.gif"; $images['pm_postmsg'] = "$current_template_images/{LANG}/msg_newpost.gif"; $images['pm_quotemsg'] = "$current_template_images/{LANG}/icon_quote.gif"; $images['pm_editmsg'] = "$current_template_images/{LANG}/icon_edit.gif"; $images['pm_new_msg'] = ""; $images['pm_no_new_msg'] = ""; $images['Topic_watch'] = ""; $images['topic_un_watch'] = ""; $images['topic_mod_lock'] = "$current_template_images/topic_lock.gif"; $images['topic_mod_unlock'] = "$current_template_images/topic_unlock.gif"; $images['topic_mod_split'] = "$current_template_images/topic_split.gif"; $images['topic_mod_move'] = "$current_template_images/topic_move.gif"; $images['topic_mod_delete'] = "$current_template_images/topic_delete.gif"; $images['voting_graphic'][0] = "$current_template_images/voting_bar.gif"; $images['voting_graphic'][1] = "$current_template_images/voting_bar.gif"; $images['voting_graphic'][2] = "$current_template_images/voting_bar.gif"; $images['voting_graphic'][3] = "$current_template_images/voting_bar.gif"; $images['voting_graphic'][4] = "$current_template_images/voting_bar.gif"; // // Define common theme colors (if not present in db) // $theme['body_bgcolor'] = "FFFFFF"; $theme['body_text'] = "383B3F"; $theme['body_link'] = "006699"; $theme['body_vlink'] = "006699"; $theme['body_alink'] = "006699"; $theme['body_hlink'] = "f3a625"; $theme['tr_color1'] = "F7EEEE"; // row1 $theme['tr_color2'] = "FBF4F4"; // row2 $theme['tr_color3'] = "f1f1f1"; // row3 $theme['th_color1'] = "FFA34F"; // bodyline border color $theme['th_color2'] = "333333"; // forumline border color $theme['th_color3'] = "d1d7dc"; // boxes border color $theme['td_color1'] = "F7EEEE"; // code/quote boxes background $theme['td_color2'] = "FBF4F4"; // post box background $theme['fontface1'] = "Verdana,Arial,Helvetica,sans-serif"; $theme['fontcolor1'] = "383B3F"; // Main font color $theme['fontcolor2'] = "726363"; /********************************************************************************\ | CORE Images \********************************************************************************/ // // SiteLog // $mx_images['mx_dot'] = $images['folder']; // // Online Block // $mx_images['mx_who_is_online'] = $mx_root_path . $current_template_path . "/images/whosonline.gif"; ?> --- NEW FILE: mx_main_layout.html --- <div> <table border="0" cellspacing="10" cellpadding="0" width="100%" class="mx_body_table"> <tr valign="top"> <!-- BEGIN layout_column --> <td class="{layout_column.COL_CLASS}" width="{layout_column.BLOCK_SIZE}"> <!-- BEGIN blocks --> <!-- BEGIN sub_start --> <table border="0" cellspacing="0" cellpadding="0" width="{layout_column.BLOCK_SIZE}"> <tr valign="top"> <!-- END sub_start --> <!-- BEGIN sub_col --> {layout_column.blocks.sub_col.INNER_SPACE} <td class="{layout_column.blocks.sub_col.COL_CLASS}" width="{layout_column.blocks.sub_col.BLOCK_SIZE}"> <!-- END sub_col --> <table width="{layout_column.BLOCK_SIZE}" cellpadding="0" cellspacing="0" border="0" class="mx_graphborder"> <tr> <td> <!-- BEGIN graph_border --> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}1-1.gif" width="5" height="5" alt="" /> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}1-2.gif" width="100%"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}1-3.gif" width="5" height="5" alt="" /> </td> </tr> <tr> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}2-1.gif" width="5"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}2-2.gif" width="100%" align="center"> <!-- END graph_border --> <!-- BEGIN block_header --> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="mx_blockline"> <tr> <!-- END block_header --> <!-- BEGIN show_title --> <th class="thHead" align="left" width="99%"> {layout_column.blocks.show_title.L_TITLE} </th> <!-- END show_title --> <!-- BEGIN edit --> <th class="thTop" align="right" width="1"> <form action="{layout_column.blocks.edit.EDIT_ACTION}" method="post" class="mx_editform"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <!-- BEGIN switch_edit_on --> <tbody id="phpbbEdit_Blocks" name="phpbbEdit_Blocks" style="display: ;"> <!-- END switch_edit_on --> <!-- BEGIN switch_edit_off --> <tbody id="phpbbEdit_Blocks" name="phpbbEdit_Blocks" style="display: none;"> <!-- END switch_edit_off --> <tr> <!-- BEGIN hidden_block --> <td align="right"> <span class="gensmall"><i> {layout_column.blocks.edit.hidden_block.HIDDEN_BLOCK}</i></span> </td> <!-- END hidden_block --> <td align="right"> {layout_column.blocks.edit.EDIT_IMG} {layout_column.blocks.edit.S_HIDDEN_FORM_FIELDS} </td> </tr> </tbody> </table> </form> </th> <!-- END edit --> <!-- BEGIN block_header --> </tr> </table> <!-- END block_header --> {layout_column.blocks.BLOCK} <!-- BEGIN graph_border --> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}2-3.gif" width="5"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> </tr> <tr> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}3-1.gif" width="5" height="5" alt="" /> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}3-2.gif" width="100%"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}3-3.gif" width="5" height="5" alt="" /> </td> </tr> </table> <!-- END graph_border --> </td> </tr> </table> <!-- BEGIN block_stats --> <div align="right"><span class="copyright">{layout_column.blocks.block_stats.L_BLOCK_UPDATED}{layout_column.blocks.block_stats.EDITOR_NAME} ({layout_column.blocks.block_stats.EDIT_TIME})</span></div> <br clear="all" /> <!-- END block_stats --> <!-- BEGIN no_stats --> <br clear="all" /> <!-- END no_stats --> <!-- BEGIN sub_col --> </td> <!-- END sub_col --> <!-- BEGIN sub_end --> </tr> </table> <!-- END sub_end --> <!-- END blocks --> </td> <!-- END layout_column --> </tr> </table> </div> --- NEW FILE: overall_header.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="{S_CONTENT_DIRECTION}"> <head> <meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}"> <meta http-equiv="Content-Style-Type" content="text/css"> <!-- BEGIN switch_set_base --> <base href="{U_PORTAL_ROOT_PATH}" > <!-- END switch_set_base --> {META} {NAV_LINKS} <title>{SITENAME} :: {PAGE_TITLE}</title> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <link rel="stylesheet" href="{U_PHPBB_ROOT_PATH}styles/prosilver/theme/stylesheet.css" type="text/css" > <!-- Then load mxBB template *.css definition for mx, located in the the portal template folder --> <link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_MXBB_STYLESHEET}" type="text/css" > <!-- Optionally, redefine some defintions for gecko browsers --> <!-- BEGIN switch_gecko --><link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}templates/prosilver/{T_GECKO_STYLESHEET}" type="text/css" ><!-- END switch_gecko --> <style type="text/css"> <!-- body { /* Text-Sizing with ems: http://www.clagnut.com/blog/348/ */ font-family: Verdana, Helvetica, Arial, sans-serif; color: #828282; background-color: #FFFFFF; /*font-size: 62.5%; This sets the default font size to be equivalent to 10px */ font-size: 10px; margin: 0; padding: 12px 0; display: block; list-style-type: none; color: #777777; margin: 0; color: #4C5D77; } body { font-size: 10px; margin:0px; padding:0px; /* Opera 0 margin */ text-align: center; /* center in IE */ } p, td { font-size: 11px; color: #000000; } /* This is the main table round all portal contents, use with .bodyline */ .mx_main_table { } /* This is the outline table round the overall page header */ .mx_header_table { background-color: #FFFFFF; border: 2px solid #006699; } /* This is the outline table round the columns/blocks, that is the table below the header */ .mx_body_table { } /* This is the outer outline table round the blocks */ .mx_graphborder { } /* Table styles */ table { width: 100%; border: 1px solid #CCCFD3; background-color: #FFFFFF; padding: 1px; } th { padding: 3px 4px; color: #FFFFFF; background: #70AED3 url("{U_PHPBB_ROOT_PATH}templates/prosilver/theme/images/bg_list.gif") bottom left repeat-x; border-top: 1px solid #6DACD2; border-bottom: 1px solid #327AA5; text-align: left; font-size: 0.75em; text-transform: uppercase; } th.1 { color: #B7BAC5; font-size: 11px; font-weight : bold; BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background:#70AED3; height: 25px; background-image: url({U_PHPBB_ROOT_PATH}templates/prosilver/theme/images/bg_list.gif); } td { text-align: left; line-height: 1.20em; } th.thHead { background: url({U_PHPBB_ROOT_PATH}templates/prosilver/theme/images/bg_list.gif) left; } td.cat,td.catHead,td.catSides,td.catLeft,td.catRight,td.catBottom { BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background-image: url({U_PHPBB_ROOT_PATH}templates/prosilver/theme/images/gradient.gif); background:#D1D7DC; font-size: 12px; } th.thSides,td.catSides,td.spaceRow { border-width: 0px 1px 0px 1px; } th.thRight,td.catRight,td.row3Right { border-width: 0px 1px 0px 0px; } th.thLeft,td.catLeft { border-width: 0px 0px 0px 1px; } th.thBottom,td.catBottom { border-width: 0px 1px 1px 1px; } th.thTop { border-width: 1px 0px 0px 0px; } th.thCornerL { border-width: 1px 0px 0px 1px; } th.thCornerR { border-width: 1px 1px 0px 0px; } td.row3Right,td.spaceRow { font-size: 12px; background-color: #B9B9B9; BORDER-TOP: #B7B7B7 1px solid; BORDER-BOTTOM: #E7E7E7 1px solid; BORDER-LEFT: #B7B7B7 1px solid; BORDER-RIGHT: #E7E7E7 1px solid; } td.catHead { font-size: 12px; BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background:#1E1E2A; } td.catSides { BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background:#1E1E2A; } td.catRight { BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background:#1E1E2A; } td.catLeft { BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background:#1E1E2A; } td.catBottom { BORDER-RIGHT: #47475D 1px solid; BORDER-TOP: #121316 2px solid; BORDER-BOTTOM: #47475D 1px solid; BORDER-LEFT: #121316 2px solid; background:#1E1E2A; } .rtl th, .rtl td { text-align: right; } table.type2 { border: none; background: none; padding: 0; } table.type2 th { background: none; border-top: none; text-align: center; color: #115098; padding: 2px 0; } table.type2 td { padding: 0; font-size: 11px; } table.type2 td.name { padding: 2px; vertical-align: middle; } table.type3 { float: right; width: 300px; border: none; background-color: transparent; padding: 0; } .rtl table.type3 { float: left; } table.type3 thead th { background-color: transparent; border-top: none; text-align: center; color: #115098; padding: 0 3px; font-size: 11px; font-weight: normal; text-transform: none; } table.type3 tbody th { border-top: none; text-align: left; text-transform: none; padding: 0; border: none; font-size: 12px; font-weight: normal; width: 100%; } .rtl table.type3 tbody th { text-align: right; } table.type3 td { text-align: center; padding: 1px; } th.name { text-align: left; width: auto; } .rtl th.name { text-align: right; } td.name { text-align: left; font-weight: bold; } .rtl td.name { text-align: right; } .entry { text-align: left; font-weight: normal; } .rtl .entry { text-align: right; } .row1 { background-color: #F9F9F9; } .row2 { background-color: #DCEBFE; } .row3 { background-color: #DBDFE2; } .row4 { background-color: #E4E8EB; } .col1 { background-color: #DCEBFE; } .col2 { background-color: #F9F9F9; } .spacer { background-color: #DBDFE2; height: 1px; line-height: 1px; } /* These are the main mx column styles */ td.leftcol { } td.middlecol { } td.rightcol { } /* This is the style used for the top page title. */ .pagetitle { font-weight: bold; font-size: 30px; font-family: "Comic Sans MS", Verdana, Arial, Helvetica, sans-serif; text-decoration: none; line-height : 120%; color : #000066; font-variant: small-caps; text-transform: capitalize; letter-spacing: 5px; vertical-align: 20%; } /* This is the style used for the top site title. */ .sitetitle { font-family: Arial; font-variant: small-caps; font-weight: bolder; font-size: 12pt; color: #000066; } /* This is the style used for the top site description. */ .sitetitle_desc { color: #006699; font-size: 9px; } /* Customized hr below site title */ hr.hrtop { height: 3px; border: solid #000066 1px; border-top-width: 1px; } /* For all contract/expand rollup buttons */ .mx_rollup_button { font-size: 11px; margin: 0px; padding: 0px; cursor: pointer; cursor: hand; } /* Form elements */ form { margin-bottom: 0px; } /* Form elements */ form.mx_editform { margin-bottom: 0px; margin-top: 0px; } /* This is the border around numbers in pagination */ .mx_pagination, .mx_pagination_sele, .mx_pagination_over { padding-left: 2px; padding-right: 2px; border-top: 1px solid #B0B0B0; border-right: 1px solid #B0B0B0; border-bottom: 1px solid #B0B0B0; border-left: 1px solid #B0B0B0; text-decoration: none; } .mx_pagination_sele { background-color: #E0E0E0; } .mx_pagination_over { background-color: #F0F0F0; } .shadow { color: #00AA00; filter: DropShadow(Color=#660000, OffX=5, OffY=5, Positive=1); } img.shadow { color: #00AA00; filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=5, OffY=5, Color='gray', Positive='true'); } --> </style> {MX_ADDITIONAL_CSS} {MX_ICON_CSS} <script type="text/javascript" src="{U_PHPBB_ROOT_PATH}templates/prosilver/forum_fn.js"></script> <!-- BEGIN switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- if( {PRIVATE_MESSAGE_NEW_FLAG} ) { window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); } // --></script> <!-- END switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- function checkSearch() { if (document.search_block.search_engine.value == 'google') { window.open('http://www.google.com/search?q=' + document.search_block.search_keywords.value, '_google', ''); return false; } else if (document.search_block.search_engine.value == 'site') { window.open('{U_SEARCH_SITE}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'kb') { window.open('{U_SEARCH_KB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'pafiledb') { window.open('{U_SEARCH_PAFILEDB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else { return true; } } // --></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Common.js"></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Toggle.js"></script> </head> <body id="mxbb" class="section-index {S_CONTENT_DIRECTION}"> <div id="wrap"> <a name="top" id="top"></a> <div id="page-header"> <div class="headerbar"> <div class="inner"><span class="corners-top"><span></span></span> <div id="site-description"> <a href="{U_INDEX}" title="{L_INDEX}" id="logo"><img src="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}images/logo.gif" border="0" alt="{L_INDEX}" vspace="1"/></a> <h1>{SITENAME}</h1> <p>{SITE_DESCRIPTION}</p> <p style="display: none;"><a href="#start_here">{L_SKIP}</a></p> </div> <div id="search-box"> <form action="{U_SEARCH}" method="get" id="search"> <fieldset> <input name="search_keywords" id="keywords" type="text" maxlength="128" title="" class="inputbox search" value="{L_SEARCH}..." onclick="if(this.value=='{L_SEARCH}...')this.value='';" onblur="if(this.value=='')this.value='{L_SEARCH}...';" /> <input class="button2" value="{L_SEARCH}" type="submit" /><br /> {S_HIDDEN_FIELDS} </fieldset> </form> </div> <span class="corners-bottom"><span></span></span></div> </div> <div class="navbar"> <div class="inner"><span class="corners-top"><span></span></span> <ul class="linklist navlinks"> <li><a href="{U_INDEX}" class="mainmenu"><img src="{NAV_IMAGES_HOME}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_INDEX}" class="mainmenu">{L_HOME}</a></span> </li> <li class="linklist"> <a href="{U_INDEX_FORUM}" class="mainmenu"><img src="{NAV_IMAGES_FORUM}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_INDEX_FORUM}" class="mainmenu">{L_FORUM}</a></span> </li> <li class="linklist"> <!-- BEGIN switch_user_logged_in --> <a href="{U_PROFILE}" class="mainmenu"><img src="{NAV_IMAGES_PROFILE}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_PROFILE}" class="mainmenu">{L_PROFILE}</a></span> <!-- END switch_user_logged_in --> </li> <li class="linklist"> <a href="{U_FAQ}" class="mainmenu"><img src="{NAV_IMAGES_FAQ}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_FAQ}" class="mainmenu">{L_FAQ}</a></span> <li> <!-- <li class="linklist"> <a href="{U_SEARCH}" class="mainmenu"><img src="{NAV_IMAGES_SEARCH}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_SEARCH}" class="mainmenu">{L_SEARCH}</a></span> </li> --> <li class="linklist"> <a href="{U_MEMBERLIST}" class="mainmenu"><img src="{NAV_IMAGES_MEMBERS}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_MEMBERLIST}" class="mainmenu">{L_MEMBERLIST}</a></span> </li> <li class="linklist"> <a href="{U_GROUP_CP}" class="mainmenu"><img src="{NAV_IMAGES_GROUPS}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_GROUP_CP}" class="mainmenu">{L_USERGROUPS}</a></span> </li> <!-- BEGIN switch_user_logged_in --> <li class="linklist"> <a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="{NAV_IMAGES_PRIVMSG}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_PRIVATEMSGS}" class="mainmenu">{L_PRIVATEMSGS}</a></span> <!-- END switch_user_logged_in --> </li> <!-- END switch_user_logged_in --> <!-- BEGIN switch_user_logged_out --> <li class="linklist"> <a href="{U_REGISTER}" class="mainmenu"><img src="{NAV_IMAGES_REGISTER}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_REGISTER}" class="mainmenu">{L_REGISTER}</a> </li> <!-- END switch_user_logged_out --> <li class="linklist"> <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="{NAV_IMAGES_LOGIN_LOGOUT}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_LOGIN_LOGOUT}" class="mainmenu">{L_LOGIN_LOGOUT}</a></span> </li> </ul> <span class="corners-bottom"><span></span></span> </div> </div> <!-- BEGIN switch_view --> <ul> <li><span class="gensmall">{CURRENT_TIME}</span></li> </ul> <ul> <li><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></li> </ul> <!-- END switch_view --> <!-- BEGIN phpbb_stats --> <ul> <li align="left" valign="top" ><span class="gensmall"> <!-- BEGIN switch_user_logged_in --> {LAST_VISIT_DATE}<br /> <!-- END switch_user_logged_in --> {CURRENT_TIME}<br /></span> </li> <li align="right" valign="top" > <!-- BEGIN switch_user_logged_in --> <a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br /> <!-- END switch_user_logged_in --> <a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a> </li> </ul> <!-- END phpbb_stats --> </div> <a name="start_here"></a> <div id="page-body"> --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> --- NEW FILE: gecko.css --- /* Addon defs for gecko browsers, or redefined */ |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:50:54
|
Update of /cvsroot/mxbb/core/templates/subsilver2 In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10026/subsilver2 Added Files: gecko.css index.htm mx_main_layout.html overall_footer.html overall_header.html overall_header_navigation.html subsilver2.cfg subsilver2.css Log Message: Ok, massive update for 2.9.x. --- NEW FILE: overall_header_navigation.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="{S_CONTENT_DIRECTION}"> <head> <meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}"> <meta http-equiv="Content-Style-Type" content="text/css"> <!-- BEGIN switch_set_base --> <base href="{U_PORTAL_ROOT_PATH}" > <!-- END switch_set_base --> {META} {NAV_LINKS} <title>{SITENAME} :: {PAGE_TITLE}</title> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <link rel="stylesheet" href="{U_PHPBB_ROOT_PATH}styles/subsilver2/theme/stylesheet.css" type="text/css" > <!-- Then load mxBB template *.css definition for mx, located in the the portal template folder --> <link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_MXBB_STYLESHEET}" type="text/css" > <!-- Optionally, redefine some defintions for gecko browsers --> <!-- BEGIN switch_gecko --><link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_GECKO_STYLESHEET}" type="text/css" ><!-- END switch_gecko --> {MX_ADDITIONAL_CSS_FILES} {MX_ICON_CSS} <!-- BEGIN switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- if( {PRIVATE_MESSAGE_NEW_FLAG} ) { window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); } // --></script> <!-- END switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- function checkSearch() { if (document.search_block.search_engine.value == 'google') { window.open('http://www.google.com/search?q=' + document.search_block.search_keywords.value, '_google', ''); return false; } else if (document.search_block.search_engine.value == 'site') { window.open('{U_SEARCH_SITE}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'kb') { window.open('{U_SEARCH_KB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'pafiledb') { window.open('{U_SEARCH_PAFILEDB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else { return true; } } // --></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Common.js"></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Toggle.js"></script> {MX_ADDITIONAL_JS_FILES} {MX_ADDITIONAL_HEADER_TEXT} </head> <body bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}"> <a name="top"></a> <table width="780" cellspacing="0" cellpadding="1" border="0" align="center" class="mx_main_table"> <tr> <td class="bodyline"> <table width="100%" cellspacing="0" cellpadding="2" border="0" class="mx_header_table"> <tr> <td class="row3" width="25%" align="left" valign="top"><a href="{U_INDEX}"><img src="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}images/logo.gif" border="0" alt="{L_INDEX}" vspace="1"/></a></td> <td class="row3" width="50%" align="center" valign="middle">{PAGE_ICON}<span class="pagetitle">{PAGE_TITLE}</span></td> <td class="row3" width="25%" align="right" valign="top"><span class="sitetitle">{SITENAME}</span><br /><span class="sitetitle_desc">{SITE_DESCRIPTION}</span></td> </tr> <tr> <td class="row2" align="center" valign="middle" colspan="3"> {OVERALL_NAVIGATION} </td> </tr> <!-- BEGIN editcp --> <tr> <td class="row2" align="center" valign="middle" colspan="3"> <div class="editCP_switch" style="display: {editcp.EDITCP_SHOW};"> <form action="{editcp.EDIT_ACTION}" method="post" class="mx_editform"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td align="right"> {editcp.EDIT_IMG} {editcp.S_HIDDEN_FORM_FIELDS} </td> </tr> </table> </form> </div> </td> </tr> <!-- END editcp --> <!-- BEGIN switch_view --> <tr> <td align="left" valign="bottom" colspan="3" ><span class="gensmall">{CURRENT_TIME}</span></td> </tr> <tr> <td align="left" valign="bottom" colspan="3" ><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td> </tr> <!-- END switch_view --> </table> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="center" valign="middle" nowrap> <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="{NAV_IMAGES_LOGIN_LOGOUT}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_LOGIN_LOGOUT}" class="mainmenu">{L_LOGIN_LOGOUT}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_out --> <a href="{U_REGISTER}" class="mainmenu"><img src="{NAV_IMAGES_REGISTER}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_REGISTER}" class="mainmenu">{L_REGISTER}</a></span> <!-- END switch_user_logged_out --> </td> <td valign="top" align="right" width="100%" height="5" > <form name="search_block" method="post" action="{U_SEARCH}" onsubmit="return checkSearch()"> <a href="{U_SEARCH}" class="gen"><span class="gen">{L_SEARCH}</span></a>: <input class="post" type="text" name="search_keywords" size="15" value="...?" onfocus="if(this.value=='...?'){this.value='';}" onblur="if(this.value==''){this.value='...?';}"> <select class="post" name="search_engine"> {L_SEARCH_SITE} {L_SEARCH_FORUM} {L_SEARCH_KB} {L_SEARCH_PAFILEDB} {L_SEARCH_GOOGLE} </select> <input type="hidden" name="search_fields" value="all"> <input type="hidden" name="show_results" value="topics"> <input class="mainoption" type="submit" value="Search"> </form> </td> <td valign="top" align="left" width="5" height="5" > </td> </tr> </table> <!-- BEGIN phpbb_stats --> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="left" valign="top" ><span class="gensmall"> <!-- BEGIN switch_user_logged_in --> {LAST_VISIT_DATE}<br /> <!-- END switch_user_logged_in --> {CURRENT_TIME}<br /></span> </td> <td align="right" valign="top" > <!-- BEGIN switch_user_logged_in --> <a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br /> <!-- END switch_user_logged_in --> <a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a> </td> </tr> </table> <!-- END phpbb_stats --> --- NEW FILE: subsilver2.css --- /* phpBB 3.0 Style Sheet -------------------------------------------------------------- Style name: subsilver2 Based on style: subSilver (the default phpBB 2 style) Original author: subBlue ( http://www.subBlue.com/ ) Modified by: psoTFX and the phpBB team ( http://www.phpbb.com ) This is an alternative style for phpBB3 for those wishing to stay with the familiar subSilver style of phpBB version 2.x Copyright 2006 phpBB Group ( http://www.phpbb.com/ ) -------------------------------------------------------------- */ /* Layout ------------ */ * { /* Reset browsers default margin, padding and font sizes */ margin: 0; padding: 0; } html { font-size: 100%; } body { /* Text-Sizing with ems: http://www.clagnut.com/blog/348/ */ font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; color: #323D4F; background-color: #FFFFFF; font-size: 62.5%; /* This sets the default font size to be equivalent to 10px */ margin: 0; } #wrapcentre { margin: 15px 25px 0 25px; } #wrapfooter { text-align: center; clear: both; } #wrapnav { width: 100%; margin: 0; background-color: #ECECEC; border-width: 1px; border-style: solid; border-color: #A9B8C2; } #logodesc { margin-bottom: 5px; padding: 5px 25px; background: #D9DFE4; border-bottom: 1px solid #4787A7; } #menubar { margin: 0 25px; } #datebar { margin: 10px 25px 0 25px; } #findbar { width: 100%; margin: 0; padding: 0; border: 0; } .forumrules { background-color: #F9CC79; border-width: 1px; border-style: solid; border-color: #BB9860; padding: 4px; font-weight: normal; font-size: 1.1em; font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; } #pageheader { } #pagecontent { } #pagefooter { } #poll { } #postrow { } #postdata { } /* Text --------------------- */ h1 { color: black; font-family: "Lucida Grande", "Trebuchet MS", Verdana, sans-serif; font-weight: bold; font-size: 1.8em; text-decoration: none; } h2 { font-family: Arial, Helvetica, sans-serif; font-weight: bold; font-size: 1.5em; text-decoration: none; line-height: 120%; } h3 { font-size: 1.3em; font-weight: bold; font-family: Arial, Helvetica, sans-serif; line-height: 120%; } h4 { margin: 0; font-size: 1.1em; font-weight: bold; } p { font-size: 1.1em; } p.moderators { margin: 0; float: left; color: black; font-weight: bold; } .rtl p.moderators { float: right; } p.linkmcp { margin: 0; float: right; white-space: nowrap; } .rtl p.linkmcp { float: left; } p.breadcrumbs { margin: 0; float: left; color: black; font-weight: bold; white-space: normal; font-size: 1em; } .rtl p.breadcrumbs { float: right; } p.datetime { margin: 0; float: right; white-space: nowrap; font-size: 1em; } .rtl p.datetime { float: left; } p.searchbar { padding: 2px 0; white-space: nowrap; } p.searchbarreg { margin: 0; float: right; white-space: nowrap; } .rtl p.searchbarreg { float: left; } p.forumdesc { padding-bottom: 4px; } p.topicauthor { margin: 1px 0; } p.topicdetails { margin: 1px 0; } .postreported, .postreported a:visited, .postreported a:hover, .postreported a:link, .postreported a:active { margin: 1px 0; color: red; font-weight:bold; } .postapprove, .postapprove a:visited, .postapprove a:hover, .postapprove a:link, .postapprove a:active { color: green; font-weight:bold; } .postapprove img, .postreported img { vertical-align: bottom; } .postauthor { color: #000000; } .postdetails { color: #000000; } .postbody { font-size: 1.3em; line-height: 1.4em; font-family: "Lucida Grande", "Trebuchet MS", Helvetica, Arial, sans-serif; } .postbody li, ol, ul { margin: 0 0 0 1.5em; } .rtl .postbody li, .rtl ol, .rtl ul { margin: 0 1.5em 0 0; } .posthilit { background-color: yellow; } .nav { margin: 0; color: black; font-weight: bold; } .pagination { padding: 4px; color: black; font-size: 1em; font-weight: bold; } .cattitle { } .gen { margin: 1px 1px; font-size: 1.2em; } .genmed { margin: 1px 1px; font-size: 1.1em; } .gensmall { margin: 1px 1px; font-size: 1em; } .copyright { color: #444; font-weight: normal; font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif; } .titles { font-family: "Lucida Grande", Helvetica, Arial, sans-serif; font-weight: bold; font-size: 1.3em; text-decoration: none; } .error { color: red; } /* Tables ------------ */ th { color: #FFA34F; font-size: 1.1em; font-weight: bold; background-color: #006699; white-space: nowrap; padding: 7px 5px; } td { padding: 2px; } td.profile { padding: 4px; } .tablebg { background-color: #A9B8C2; } .catdiv { height: 28px; margin: 0; padding: 0; border: 0; } .cat { height: 28px; margin: 0; padding: 0; border: 0; background-color: #C7D0D7; text-indent: 4px; } .row1 { background-color: #ECECEC; padding: 4px; } .row2 { background-color: #DCE1E5; padding: 4px; } .row3 { background-color: #C0C8D0; padding: 4px; } .spacer { background-color: #D1D7DC; } hr { height: 1px; border-width: 0; background-color: #D1D7DC; color: #D1D7DC; } .legend { text-align:center; margin: 0 auto; } /* Links ------------ */ a:link { color: #006597; text-decoration: none; } a:active, a:visited { color: #005784; text-decoration: none; } a:hover { color: #D46400; text-decoration: underline; } a.forumlink { color: #069; font-weight: bold; font-family: "Lucida Grande", Helvetica, Arial, sans-serif; font-size: 1.2em; } a.topictitle { margin: 1px 0; font-family: "Lucida Grande", Helvetica, Arial, sans-serif; font-weight: bold; font-size: 1.2em; } a.topictitle:visited { color: #5493B4; text-decoration: none; } th a, th a:visited { color: #FFA34F !important; text-decoration: none; } th a:hover { text-decoration: underline; } /* Form Elements ------------ */ form { margin: 0; padding: 0; border: 0; } input { color: #333333; font-family: "Lucida Grande", Verdana, Helvetica, sans-serif; font-size: 1.1em; font-weight: normal; padding: 1px; border: 1px solid #A9B8C2; background-color: #FAFAFA; } textarea { background-color: #FAFAFA; color: #333333; font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; font-size: 1.3em; line-height: 1.4em; font-weight: normal; border: 1px solid #A9B8C2; padding: 2px; } select { color: #333333; background-color: #FAFAFA; font-family: "Lucida Grande", Verdana, Helvetica, sans-serif; font-size: 1.1em; font-weight: normal; border: 1px solid #A9B8C2; padding: 1px; } option { padding: 0 1em 0 0; } option.disabled-option { color: graytext; } .rtl option { padding: 0 0 0 1em; } input.radio { border: none; background-color: transparent; } .post { background-color: white; border-style: solid; border-width: 1px; } .btnbbcode { color: #000000; font-weight: normal; font-size: 1.1em; font-family: "Lucida Grande", Verdana, Helvetica, sans-serif; background-color: #EFEFEF; border: 1px solid #666666; } .btnmain { font-weight: bold; background-color: #ECECEC; border: 1px solid #A9B8C2; cursor: pointer; padding: 1px 5px; font-size: 1.1em; } .btnlite { font-weight: normal; background-color: #ECECEC; border: 1px solid #A9B8C2; cursor: pointer; padding: 1px 5px; font-size: 1.1em; } .btnfile { font-weight: normal; background-color: #ECECEC; border: 1px solid #A9B8C2; padding: 1px 5px; font-size: 1.1em; } .helpline { background-color: #DEE3E7; border-style: none; } /* BBCode ------------ */ .quotetitle, .attachtitle { margin: 10px 5px 0 5px; padding: 4px; border-width: 1px 1px 0 1px; border-style: solid; border-color: #A9B8C2; color: #333333; background-color: #A9B8C2; font-size: 0.85em; font-weight: bold; } .quotetitle .quotetitle { font-size: 1em; } .quotecontent, .attachcontent { margin: 0 5px 10px 5px; padding: 5px; border-color: #A9B8C2; border-width: 0 1px 1px 1px; border-style: solid; font-weight: normal; font-size: 1em; line-height: 1.4em; font-family: "Lucida Grande", "Trebuchet MS", Helvetica, Arial, sans-serif; background-color: #FAFAFA; color: #4B5C77; } .attachcontent { font-size: 0.85em; } .codetitle { margin: 10px 5px 0 5px; padding: 2px 4px; border-width: 1px 1px 0 1px; border-style: solid; border-color: #A9B8C2; color: #333333; background-color: #A9B8C2; font-family: "Lucida Grande", Verdana, Helvetica, Arial, sans-serif; font-size: 0.8em; } .codecontent { direction: ltr; margin: 0 5px 10px 5px; padding: 5px; border-color: #A9B8C2; border-width: 0 1px 1px 1px; border-style: solid; font-weight: normal; color: #006600; font-size: 0.85em; font-family: Monaco, 'Courier New', monospace; background-color: #FAFAFA; } .syntaxbg { color: #FFFFFF; } .syntaxcomment { color: #FF8000; } .syntaxdefault { color: #0000BB; } .syntaxhtml { color: #000000; } .syntaxkeyword { color: #007700; } .syntaxstring { color: #DD0000; } /* Private messages ------------------ */ .pm_marked_colour { background-color: #000000; } .pm_replied_colour { background-color: #A9B8C2; } .pm_friend_colour { background-color: #007700; } .pm_foe_colour { background-color: #DD0000; } /* Misc ------------ */ img { border: none; } .sep { color: black; background-color: #FFA34F; } table.colortable td { padding: 0; } pre { font-size: 1.1em; font-family: Monaco, 'Courier New', monospace; } .nowrap { white-space: nowrap; } .username-coloured { font-weight: bold; } /************************************************************\ | Addon or redefined CSS definitions for mxBB-Portal \************************************************************/ p, td { font-size: 11px; color: #000000; } /* This is the main table round all portal contents, use with .bodyline */ .mx_main_table { } /* This is the outline table round the overall page header */ .mx_header_table { background-color: #FFFFFF; border: 2px solid #006699; } /* This is the outline table round the columns/blocks, that is the table below the header */ .mx_body_table { } /* This is the outer outline table round the blocks */ .mx_graphborder { } /* These are the main mx column styles */ td.leftcol { } td.middlecol { } td.rightcol { } /* This is the style used for the top page title. */ .pagetitle { font-weight: bold; font-size: 30px; font-family: "Comic Sans MS", Verdana, Arial, Helvetica, sans-serif; text-decoration: none; line-height : 120%; color : #000066; font-variant: small-caps; text-transform: capitalize; letter-spacing: 5px; vertical-align: 20%; } /* This is the style used for the top site title. */ .sitetitle { font-family: Arial; font-variant: small-caps; font-weight: bolder; font-size: 12pt; color: #000066; } /* This is the style used for the top site description. */ .sitetitle_desc { color: #006699; font-size: 9px; } /* Customized hr below site title */ hr.hrtop { height: 3px; border: solid #000066 1px; border-top-width: 1px; } /* For all contract/expand rollup buttons */ .mx_rollup_button { font-size: 11px; margin: 0px; padding: 0px; cursor: pointer; cursor: hand; } /* Form elements */ form { margin-bottom: 0px; } /* Form elements */ form.mx_editform { margin-bottom: 0px; margin-top: 0px; } /* This is the border around numbers in pagination */ .mx_pagination, .mx_pagination_sele, .mx_pagination_over { padding-left: 2px; padding-right: 2px; border-top: 1px solid #B0B0B0; border-right: 1px solid #B0B0B0; border-bottom: 1px solid #B0B0B0; border-left: 1px solid #B0B0B0; text-decoration: none; } .mx_pagination_sele { background-color: #E0E0E0; } .mx_pagination_over { background-color: #F0F0F0; } .shadow { color: #00AA00; filter: DropShadow(Color=#660000, OffX=5, OffY=5, Positive=1); } img.shadow { color: #00AA00; filter:progid:DXImageTransform.Microsoft.dropshadow(OffX=5, OffY=5, Color='gray', Positive='true'); } --- NEW FILE: overall_footer.html --- <div align="center"> <span class="copyright"> <!-- BEGIN editcp_exists --> <span class="genmed">{editcp_exists.ADMIN_OPTIONS}</span> <span class="newsbutton" onclick="mx_toggle_editCP(this, 'editCP_switch', '{editcp_exists.EDITCP_EXPAND_IMG}', '{editcp_exists.EDITCP_CONTRACT_IMG}');"><img src="{editcp_exists.EDITCP_DYNAMIC_IMG}" border="0" alt="" /></span><br /> <!-- END editcp_exists --> {ADMIN_LINK}<br /> <!-- We request you retain the full copyright notice below including the link to www.phpbb.com. This not only gives respect to the large amount of time given freely by the developers but also helps build interest, traffic and use of phpBB 2.0. If you cannot (for good reason) retain the full copyright we request you at least leave in place the Powered by phpBB line, with phpBB linked to www.phpbb.com. If you refuse to include even this then support on our forums may be affected. The phpBB Group : 2002 & mxBB Team : 2002 // --> {POWERED_BY} <a href="http://www.mxbb.net/" target="_mx-system" class="copyright">mxBB Portal</a> {MX_VERSION} © 2001-2007 & <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB</a> {PHPBB_VERSION} © 2001, 2003 phpBB Group | <a href="{MXBB_EXTRA_URL}" target="_phpbb" class="copyright">{MXBB_EXTRA}</a> </div> </td> </tr> </table> <!-- This displays generation info at the bottom of the page --> {EXECUTION_STATS} {MX_ADDITIONAL_FOOTER_TEXT} </body> </html> --- NEW FILE: subsilver2.cfg --- <?php /** * * @package mxBB Portal Core * @version $Id: subsilver2.cfg,v 1.1 2007/09/09 16:50:46 jonohlsson Exp $ * @copyright (c) 2002-2006 mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ /** Original theme by: * * copyright (C) 2001 The phpBB Group * Created by subBlue design * www.subBlue.com * subSilver dev. forum: www.subSky.com/phpBB2/ * */ /** Adapted for mxBB by: * * The mxBB Development Team * Version: 1.0 * Requirements: mxBB Core 2.8.x * */ $mx_template_settings['portal_backend'] = 'phpbb3'; // // Do not alter this line! // define(MX_TEMPLATE_CONFIG, true); $mx_template_config = true; /********************************************************************************\ | Template Setup | - define general template settings \********************************************************************************/ // // Credits, copyrights etc $mx_template_settings['template_copy'] = 'Original subSilver theme for phpBB by <a href="http://www.subSky.com/phpBB2/">subBlue design</a> :: Adapted for mxBB by <a href="http://www.mxbb.net">The mxBB Development Team</a>'; // // When creating a new template, you normally "clone" a template and modify a number of *.tpl files. // For similar templates this means only a few files are different. // For example: you may have a template similar to subSilver, but with a different overall_header.tpl - the other files are identical. // Then this template should only contain one *.tpl file, namely overall_header.tpl, // and with $mx_template_settings['cloned_template'] = 'subSilver'. // If this template is a full set of *.tpl files, leave this blank. $mx_template_settings['cloned_template'] = ''; // // Block border graphics are defined in mx_main_layout.tpl, within the 'graph_border' template environment. // Turning this setting 'false' will disable block border graphics. $mx_template_settings['border_graphics'] = false; /********************************************************************************\ | Define what graphics bundles to use | - these are very handy paths to ALL kind of phpBB/mxBB graphics \********************************************************************************/ $mx_images['mx_graphics']['general'] = $current_template_path . "/images"; $mx_images['mx_graphics']['page_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/page_icons" ) ? $current_template_path . "/images/page_icons" : $cloned_template_path . "/images/page_icons"; $mx_images['mx_graphics']['block_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/block_icons" ) ? $current_template_path . "/images/block_icons" : $cloned_template_path . "/images/block_icons"; $mx_images['mx_graphics']['menu_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/menu_icons" ) ? $current_template_path . "/images/menu_icons" : $cloned_template_path . "/images/menu_icons"; $mx_images['mx_graphics']['admin_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/admin_icons" ) ? $current_template_path . "/images/admin_icons" : $cloned_template_path . "/images/admin_icons"; $mx_images['mx_graphics']['phpbb_icons'] = file_exists( $phpbb_root_path . $current_template_path . "/images" ) ? $current_template_path . "/images" : $cloned_template_path . "/images"; // // Prefix all paths to get full img URLs // $current_template_images = PORTAL_URL . $mx_images['mx_graphics']['general']; // Logo etc $current_template_page_images = PORTAL_URL . $mx_images['mx_graphics']['page_icons']; // Used by adminCP - Pages $current_template_block_images = PORTAL_URL . $mx_images['mx_graphics']['block_icons']; // Used by userCP block buttons $current_template_menu_images = PORTAL_URL . $mx_images['mx_graphics']['menu_icons']; // Used by adminCP - Navigation Menu $current_template_admin_images = PORTAL_URL . $mx_images['mx_graphics']['admin_icons']; // Internal graphics for the mxBB adminCP $current_template_phpbb_images = PHPBB_URL . $mx_images['mx_graphics']['phpbb_icons']; // phpBB graphics template // // Define the icon css style // $mx_images['mx_graphics']['icon_style'] = '<style type="text/css"> .mx_icon { vertical-align: middle; background-color:; background-image: url('.$current_template_menu_images.'/icon_bg.gif); background-repeat: no-repeat; } .mx_icon_hot { vertical-align: middle; background-color:; background-image: url('.$current_template_menu_images.'/icon_bg.gif); background-repeat: no-repeat; } </style>'; /********************************************************************************\ | Page Navigation Images | 1. If you want to control the overall_header.tpl images from this *.cfg file, make defintions below | 2. Or if not, use hardcoded image paths in overall_header.tpl, just like in the phpBB standard subSilver overall_header.tpl. \********************************************************************************/ // // Use mxBB graphics - normally the menu_icons bundle // $mx_images['mx_nav_home'] = "$current_template_menu_images/icon_home.gif"; // {NAV_IMAGES_HOME} $mx_images['mx_nav_forum'] = "$current_template_menu_images/icon_forum.gif"; // {NAV_IMAGES_FORUM} $mx_images['mx_nav_profile'] = "$current_template_menu_images/icon_profile.gif"; // {NAV_IMAGES_PROFILE} $mx_images['mx_nav_faq'] = "$current_template_menu_images/icon_faq.gif"; // {NAV_IMAGES_FAQ} $mx_images['mx_nav_search'] = "$current_template_menu_images/icon_search.gif"; // {NAV_IMAGES_SEARCH} $mx_images['mx_nav_members'] = "$current_template_menu_images/icon_members.gif"; // {NAV_IMAGES_MEMBERS} $mx_images['mx_nav_groups'] = "$current_template_menu_images/icon_groups.gif"; // {NAV_IMAGES_GROUPS} $mx_images['mx_nav_mail'] = "$current_template_menu_images/icon_mail.gif"; // {NAV_IMAGES_PRIVMSG} $mx_images['mx_nav_login'] = "$current_template_menu_images/icon_login.gif"; // {NAV_IMAGES_LOGIN_LOGOUT} $mx_images['mx_nav_register'] = "$current_template_menu_images/icon_register.gif"; // {NAV_IMAGES_REGISTER} // // Use standard phpBB graphics // /* $mx_images['mx_nav_home'] = "$current_template_phpbb_images/icon_minipost.gif"; $mx_images['mx_nav_forum'] = "$current_template_phpbb_images/icon_minipost.gif"; $mx_images['mx_nav_profile'] = "$current_template_phpbb_images/icon_mini_profile.gif"; $mx_images['mx_nav_faq'] = "$current_template_phpbb_images/icon_mini_faq.gif"; $mx_images['mx_nav_search'] = "$current_template_phpbb_images/icon_mini_search.gif"; $mx_images['mx_nav_members'] = "$current_template_phpbb_images/icon_mini_members.gif"; $mx_images['mx_nav_groups'] = "$current_template_phpbb_images/icon_mini_groups.gif"; $mx_images['mx_nav_mail'] = "$current_template_phpbb_images/icon_mini_message.gif"; $mx_images['mx_nav_login'] = "$current_template_phpbb_images/icon_mini_login.gif"; $mx_images['mx_nav_register'] = "$current_template_phpbb_images/icon_mini_register.gif"; */ /********************************************************************************\ | Block Images | - these images are used for the block editCP buttons and controls \********************************************************************************/ $mx_images['mx_contract'] = "$current_template_block_images/contract.gif"; $mx_images['mx_expand'] = "$current_template_block_images/expand.gif"; $mx_images['mx_block_edit_admin'] = "$current_template_block_images/block_edit_admin.gif"; $mx_images['mx_block_edit_split'] = "$current_template_block_images/block_edit_split.gif"; $mx_images['mx_block_edit'] = "$current_template_block_images/block_edit.gif"; $mx_images['mx_block_hidden'] = "$current_template_block_images/block_hidden.gif"; /********************************************************************************\ | adminCP/editCP Images | - these images are used for the adminCP & block editCP \********************************************************************************/ $mx_images['mx_spacer'] = "$current_template_phpbb_images/spacer.gif"; // // phpBB Graphics - redefined for mxBB // - Uncomment and redefine phpBB graphics // // If you need to redefine some phpBB graphics, look within the phpBB/templates folder for the template_name.cfg file and // redefine those $image['xxx'] you want. Note: Many phpBB images are reused all over mxBB (eg see below), thus if you redefine // common phpBB images, this will have immedaite effect for all mxBB pages. // /* $images['icon_quote'] = "$current_template_phpbb_images/{LANG}/icon_quote.gif"; $images['icon_edit'] = "$current_template_phpbb_images/{LANG}/icon_edit.gif"; $images['icon_search'] = "$current_template_phpbb_images/{LANG}/icon_search.gif"; $images['icon_profile'] = "$current_template_phpbb_images/{LANG}/icon_profile.gif"; $images['icon_pm'] = "$current_template_phpbb_images/{LANG}/icon_pm.gif"; $images['icon_email'] = "$current_template_phpbb_images/{LANG}/icon_email.gif"; $images['icon_delpost'] = "$current_template_phpbb_images/icon_delete.gif"; $images['icon_ip'] = "$current_template_phpbb_images/{LANG}/icon_ip.gif"; $images['icon_www'] = "$current_template_phpbb_images/{LANG}/icon_www.gif"; $images['icon_icq'] = "$current_template_phpbb_images/{LANG}/icon_icq_add.gif"; $images['icon_aim'] = "$current_template_phpbb_images/{LANG}/icon_aim.gif"; $images['icon_yim'] = "$current_template_phpbb_images/{LANG}/icon_yim.gif"; $images['icon_msnm'] = "$current_template_phpbb_images/{LANG}/icon_msnm.gif"; $images['icon_minipost'] = "$current_template_phpbb_images/icon_minipost.gif"; $images['icon_gotopost'] = "$current_template_phpbb_images/icon_minipost.gif"; $images['icon_minipost_new'] = "$current_template_phpbb_images/icon_minipost_new.gif"; $images['icon_latest_reply'] = "$current_template_phpbb_images/icon_latest_reply.gif"; $images['icon_newest_reply'] = "$current_template_phpbb_images/icon_newest_reply.gif"; $images['forum'] = "$current_template_phpbb_images/folder_big.gif"; $images['forum_new'] = "$current_template_phpbb_images/folder_new_big.gif"; $images['forum_locked'] = "$current_template_phpbb_images/folder_locked_big.gif"; $images['folder'] = "$current_template_phpbb_images/folder.gif"; $images['folder_new'] = "$current_template_phpbb_images/folder_new.gif"; $images['folder_hot'] = "$current_template_phpbb_images/folder_hot.gif"; $images['folder_hot_new'] = "$current_template_phpbb_images/folder_new_hot.gif"; $images['folder_locked'] = "$current_template_phpbb_images/folder_lock.gif"; $images['folder_locked_new'] = "$current_template_phpbb_images/folder_lock_new.gif"; $images['folder_sticky'] = "$current_template_phpbb_images/folder_sticky.gif"; $images['folder_sticky_new'] = "$current_template_phpbb_images/folder_sticky_new.gif"; $images['folder_announce'] = "$current_template_phpbb_images/folder_announce.gif"; $images['folder_announce_new'] = "$current_template_phpbb_images/folder_announce_new.gif"; $images['post_new'] = "$current_template_phpbb_images/{LANG}/post.gif"; $images['post_locked'] = "$current_template_phpbb_images/{LANG}/reply-locked.gif"; $images['reply_new'] = "$current_template_phpbb_images/{LANG}/reply.gif"; $images['reply_locked'] = "$current_template_phpbb_images/{LANG}/reply-locked.gif"; $images['pm_inbox'] = "$current_template_phpbb_images/msg_inbox.gif"; $images['pm_outbox'] = "$current_template_phpbb_images/msg_outbox.gif"; $images['pm_savebox'] = "$current_template_phpbb_images/msg_savebox.gif"; $images['pm_sentbox'] = "$current_template_phpbb_images/msg_sentbox.gif"; $images['pm_readmsg'] = "$current_template_phpbb_images/folder.gif"; $images['pm_unreadmsg'] = "$current_template_phpbb_images/folder_new.gif"; $images['pm_replymsg'] = "$current_template_phpbb_images/{LANG}/reply.gif"; $images['pm_postmsg'] = "$current_template_phpbb_images/{LANG}/msg_newpost.gif"; $images['pm_quotemsg'] = "$current_template_phpbb_images/{LANG}/icon_quote.gif"; $images['pm_editmsg'] = "$current_template_phpbb_images/{LANG}/icon_edit.gif"; $images['pm_new_msg'] = ""; $images['pm_no_new_msg'] = ""; $images['Topic_watch'] = ""; $images['topic_un_watch'] = ""; $images['topic_mod_lock'] = "$current_template_phpbb_images/topic_lock.gif"; $images['topic_mod_unlock'] = "$current_template_phpbb_images/topic_unlock.gif"; $images['topic_mod_split'] = "$current_template_phpbb_images/topic_split.gif"; $images['topic_mod_move'] = "$current_template_phpbb_images/topic_move.gif"; $images['topic_mod_delete'] = "$current_template_phpbb_images/topic_delete.gif"; $images['voting_graphic'][0] = "$current_template_phpbb_images/voting_bar.gif"; $images['voting_graphic'][1] = "$current_template_phpbb_images/voting_bar.gif"; $images['voting_graphic'][2] = "$current_template_phpbb_images/voting_bar.gif"; $images['voting_graphic'][3] = "$current_template_phpbb_images/voting_bar.gif"; $images['voting_graphic'][4] = "$current_template_phpbb_images/voting_bar.gif"; */ // // Define common theme colors (if not present in db) // $template_config_row['body_bgcolor'] = "FFFFFF"; $template_config_row['body_text'] = "383B3F"; $template_config_row['body_link'] = "006699"; $template_config_row['body_vlink'] = "006699"; $template_config_row['body_alink'] = "006699"; $template_config_row['body_hlink'] = "f3a625"; $template_config_row['tr_color1'] = "F7EEEE"; // row1 $template_config_row['tr_color2'] = "FBF4F4"; // row2 $template_config_row['tr_color3'] = "f1f1f1"; // row3 $template_config_row['th_color1'] = "FFA34F"; // bodyline border color $template_config_row['th_color2'] = "333333"; // forumline border color $template_config_row['th_color3'] = "d1d7dc"; // boxes border color $template_config_row['td_color1'] = "F7EEEE"; // code/quote boxes background $template_config_row['td_color2'] = "FBF4F4"; // post box background $template_config_row['fontface1'] = "Verdana,Arial,Helvetica,sans-serif"; $template_config_row['fontcolor1'] = "383B3F"; // Main font color $template_config_row['fontcolor2'] = "726363"; /********************************************************************************\ | CORE Images \********************************************************************************/ // // Logo // $mx_images['mx_logo'] = "$current_template_images/logo.gif";; // // SiteLog // $mx_images['mx_dot'] = $images['folder']; // // Online Block // $mx_images['mx_who_is_online'] = $mx_root_path . $current_template_path . "/images/whosonline.gif"; ?> --- NEW FILE: mx_main_layout.html --- <table border="0" cellspacing="10" cellpadding="0" width="100%" class="mx_body_table"> <tr valign="top"> <!-- BEGIN layout_column --> <td class="{layout_column.COL_CLASS}" width="{layout_column.BLOCK_SIZE}"> <!-- BEGIN blocks --> <!-- BEGIN sub_start --> <table border="0" cellpadding="0" cellspacing="0" width="{layout_column.BLOCK_SIZE}"> <tr valign="top"> <!-- END sub_start --> <!-- BEGIN sub_col --> {layout_column.blocks.sub_col.INNER_SPACE} <td class="{layout_column.blocks.sub_col.COL_CLASS}" width="{layout_column.blocks.sub_col.BLOCK_SIZE}"> <!-- END sub_col --> <table width="{layout_column.BLOCK_SIZE}" cellpadding="0" cellspacing="0" border="0" class="mx_graphborder"> <tr> <td> <!-- BEGIN graph_border --> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}1-1.gif" width="5" height="5" alt="" /> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}1-2.gif" width="100%"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}1-3.gif" width="5" height="5" alt="" /> </td> </tr> <tr> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}2-1.gif" width="5"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}2-2.gif" width="100%" align="center"> <!-- END graph_border --> <!-- BEGIN block_header --> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline" style="border-bottom:none; padding:1px 1px 0px 1px;"> <tr> <td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <!-- END block_header --> <!-- BEGIN show_title --> <th class="thCornerL" align="left" width="100%"> {layout_column.blocks.show_title.L_TITLE} </th> <!-- END show_title --> <!-- BEGIN edit --> <th class="thTop" align="right" width="1"> <div class="editCP_switch" style="display: {layout_column.blocks.edit.EDITCP_SHOW};"> <form action="{layout_column.blocks.edit.EDIT_ACTION}" method="post" class="mx_editform"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <!-- BEGIN hidden_block --> <td align="right"> <span class="gensmall"><i>{layout_column.blocks.edit.hidden_block.HIDDEN_BLOCK}</i></span> </td> <!-- END hidden_block --> <td align="right"> {layout_column.blocks.edit.EDIT_IMG} {layout_column.blocks.edit.S_HIDDEN_FORM_FIELDS} </td> </tr> </table> </form> </div> </th> <!-- END edit --> <!-- BEGIN show_title --> <th class="thCornerR" align="right" width="1"> </th> <!-- END show_title --> <!-- BEGIN block_header --> </tr> </table> </td> </tr> </table> <!-- END block_header --> <div id="block_{layout_column.blocks.BLOCK_ID}"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td> {layout_column.blocks.BLOCK} </td> </tr> </table> </div> <!-- BEGIN graph_border --> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}2-3.gif" width="5"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> </tr> <tr> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}3-1.gif" width="5" height="5" alt="" /> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}3-2.gif" width="100%"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}3-3.gif" width="5" height="5" alt="" /> </td> </tr> </table> <!-- END graph_border --> </td> </tr> </table> <!-- BEGIN block_stats --> <div align="right"><span class="copyright">{layout_column.blocks.block_stats.L_BLOCK_UPDATED}{layout_column.blocks.block_stats.EDITOR_NAME} ({layout_column.blocks.block_stats.EDIT_TIME})</span></div> <br clear="all" /> <!-- END block_stats --> <!-- BEGIN no_stats --> <br clear="all" /> <!-- END no_stats --> <!-- BEGIN sub_col --> </td> <!-- END sub_col --> <!-- BEGIN sub_end --> </tr> </table> <!-- END sub_end --> <!-- END blocks --> </td> <!-- END layout_column --> </tr> </table> --- NEW FILE: overall_header.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="{S_CONTENT_DIRECTION}"> <head> <meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}"> <meta http-equiv="Content-Style-Type" content="text/css"> <!-- BEGIN switch_set_base --> <base href="{U_PORTAL_ROOT_PATH}" > <!-- END switch_set_base --> {META} {NAV_LINKS} <title>{SITENAME} :: {PAGE_TITLE}</title> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <link rel="stylesheet" href="{U_PHPBB_ROOT_PATH}styles/subsilver2/theme/stylesheet.css" type="text/css" > <!-- Then load mxBB template *.css definition for mx, located in the the portal template folder --> <link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_MXBB_STYLESHEET}" type="text/css" > <!-- Optionally, redefine some defintions for gecko browsers --> <!-- BEGIN switch_gecko --><link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_GECKO_STYLESHEET}" type="text/css" ><!-- END switch_gecko --> {MX_ADDITIONAL_CSS_FILES} {MX_ICON_CSS} <!-- BEGIN switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- if( {PRIVATE_MESSAGE_NEW_FLAG} ) { window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); } // --></script> <!-- END switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- function checkSearch() { if (document.search_block.search_engine.value == 'google') { window.open('http://www.google.com/search?q=' + document.search_block.search_keywords.value, '_google', ''); return false; } else if (document.search_block.search_engine.value == 'site') { window.open('{U_SEARCH_SITE}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'kb') { window.open('{U_SEARCH_KB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'pafiledb') { window.open('{U_SEARCH_PAFILEDB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else { return true; } } // --></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Common.js"></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Toggle.js"></script> {MX_ADDITIONAL_JS_FILES} {MX_ADDITIONAL_HEADER_TEXT} </head> <body bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}"> <a name="top"></a> <table width="100%" cellspacing="0" cellpadding="1" border="0" align="center" class="mx_main_table"> <tr> <td class="bodyline"> <table width="100%" cellspacing="0" cellpadding="2" border="0" class="mx_header_table"> <tr> <td class="row3" width="25%" align="left" valign="top"><a href="{U_INDEX}"><img src="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}images/logo.gif" border="0" alt="{L_INDEX}" vspace="1"/></a></td> <td class="row3" width="50%" align="center" valign="middle">{PAGE_ICON}<span class="pagetitle">{PAGE_TITLE}</span></td> <td class="row3" width="25%" align="right" valign="top"><span class="sitetitle">{SITENAME}</span><br /><span class="sitetitle_desc">{SITE_DESCRIPTION}</span></td> </tr> <tr> <td class="cat" align="center" valign="middle" colspan="3"> <table cellspacing="1" cellpadding="1" border="0"> <tr> <td align="center" valign="middle" nowrap > <a href="{U_INDEX}" class="mainmenu"><img src="{NAV_IMAGES_HOME}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_INDEX}" class="mainmenu">{L_HOME}</a></span> </td> <td align="center" valign="middle" nowrap> <a href="{U_INDEX_FORUM}" class="mainmenu"><img src="{NAV_IMAGES_FORUM}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_INDEX_FORUM}" class="mainmenu">{L_FORUM}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_in --> <a href="{U_PROFILE}" class="mainmenu"><img src="{NAV_IMAGES_PROFILE}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_PROFILE}" class="mainmenu">{L_PROFILE}</a></span> <!-- END switch_user_logged_in --> </td> <td align="center" valign="middle" nowrap> <a href="{U_FAQ}" class="mainmenu"><img src="{NAV_IMAGES_FAQ}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_FAQ}" class="mainmenu">{L_FAQ}</a></span> </td> <!-- <td align="center" valign="middle" nowrap> <a href="{U_SEARCH}" class="mainmenu"><img src="{NAV_IMAGES_SEARCH}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_SEARCH}" class="mainmenu">{L_SEARCH}</a></span> </td> --> <td align="center" valign="middle" nowrap> <a href="{U_MEMBERLIST}" class="mainmenu"><img src="{NAV_IMAGES_MEMBERS}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_MEMBERLIST}" class="mainmenu">{L_MEMBERLIST}</a></span> </td> <td align="center" valign="middle" nowrap> <a href="{U_GROUP_CP}" class="mainmenu"><img src="{NAV_IMAGES_GROUPS}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_GROUP_CP}" class="mainmenu">{L_USERGROUPS}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_in --> <a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="{NAV_IMAGES_PRIVMSG}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_PRIVATEMSGS}" class="mainmenu">{L_PRIVATEMSGS}</a></span> <!-- END switch_user_logged_in --> </td> </tr> </table> </td> </tr> <!-- BEGIN switch_view --> <tr> <td align="left" valign="bottom" colspan="3" ><span class="gensmall">{CURRENT_TIME}</span></td> </tr> <tr> <td align="left" valign="bottom" colspan="3" ><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td> </tr> <!-- END switch_view --> </table> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="center" valign="middle" nowrap> <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="{NAV_IMAGES_LOGIN_LOGOUT}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_LOGIN_LOGOUT}" class="mainmenu">{L_LOGIN_LOGOUT}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_out --> <a href="{U_REGISTER}" class="mainmenu"><img src="{NAV_IMAGES_REGISTER}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_REGISTER}" class="mainmenu">{L_REGISTER}</a></span> <!-- END switch_user_logged_out --> </td> <td valign="top" align="right" width="100%" height="5" > <form name="search_block" method="post" action="{U_SEARCH}" onsubmit="return checkSearch()"> <a href="{U_SEARCH}" class="gen"><span class="gen">{L_SEARCH}</span></a>: <input class="post" type="text" name="search_keywords" size="15" value="...?" onfocus="if(this.value=='...?'){this.value='';}" onblur="if(this.value==''){this.value='...?';}"> <select class="post" name="search_engine"> {L_SEARCH_SITE} {L_SEARCH_FORUM} {L_SEARCH_KB} {L_SEARCH_PAFILEDB} {L_SEARCH_GOOGLE} </select> <input type="hidden" name="search_fields" value="all"> <input type="hidden" name="show_results" value="topics"> <input class="mainoption" type="submit" value="Search"> </form> </td> <td valign="top" align="left" width="5" height="5" > </td> </tr> </table> <!-- BEGIN phpbb_stats --> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="left" valign="top" ><span class="gensmall"> <!-- BEGIN switch_user_logged_in --> {LAST_VISIT_DATE}<br /> <!-- END switch_user_logged_in --> {CURRENT_TIME}<br /></span> </td> <td align="right" valign="top" > <!-- BEGIN switch_user_logged_in --> <a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br /> <!-- END switch_user_logged_in --> <a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a> </td> </tr> </table> <!-- END phpbb_stats --> --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> --- NEW FILE: gecko.css --- /* Addon defs for gecko browsers, or redefined */ |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:50:53
|
Update of /cvsroot/mxbb/core/templates/mxSilver In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10026/mxSilver Added Files: gecko.css index.htm mxSilver.cfg mxSilver.css mx_main_layout.tpl overall_footer.tpl overall_header.tpl overall_header_navigation.tpl overall_header_navigation_phpbb.tpl overall_noheader.tpl Log Message: Ok, massive update for 2.9.x. --- NEW FILE: mx_main_layout.tpl --- <table border="0" cellspacing="10" cellpadding="0" width="100%" class="mx_body_table"> <tr valign="top"> <!-- BEGIN layout_column --> <td class="{layout_column.COL_CLASS}" width="{layout_column.BLOCK_SIZE}"> <!-- BEGIN blocks --> <!-- BEGIN sub_start --> <table border="0" cellpadding="0" cellspacing="0" width="{layout_column.BLOCK_SIZE}"> <tr valign="top"> <!-- END sub_start --> <!-- BEGIN sub_col --> {layout_column.blocks.sub_col.INNER_SPACE} <td class="{layout_column.blocks.sub_col.COL_CLASS}" width="{layout_column.blocks.sub_col.BLOCK_SIZE}"> <!-- END sub_col --> <table width="{layout_column.BLOCK_SIZE}" cellpadding="0" cellspacing="0" border="0" class="mx_graphborder"> <tr> <td> <!-- BEGIN graph_border --> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}1-1.gif" width="5" height="5" alt="" /> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}1-2.gif" width="100%"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}1-3.gif" width="5" height="5" alt="" /> </td> </tr> <tr> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}2-1.gif" width="5"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}2-2.gif" width="100%" align="center"> <!-- END graph_border --> <!-- BEGIN block_header --> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline" style="border-bottom:none; padding:1px 1px 0px 1px;"> <tr> <td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <!-- END block_header --> <!-- BEGIN show_title --> <th class="thCornerL" align="left" width="100%"> {layout_column.blocks.show_title.L_TITLE} </th> <!-- END show_title --> <!-- BEGIN edit --> <th class="thTop" align="right" width="1"> <div class="editCP_switch" style="display: {layout_column.blocks.edit.EDITCP_SHOW};"> <form action="{layout_column.blocks.edit.EDIT_ACTION}" method="post" class="mx_editform"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <!-- BEGIN hidden_block --> <td align="right"> <span class="gensmall"><i>{layout_column.blocks.edit.hidden_block.HIDDEN_BLOCK}</i></span> </td> <!-- END hidden_block --> <td align="right"> {layout_column.blocks.edit.EDIT_IMG} {layout_column.blocks.edit.S_HIDDEN_FORM_FIELDS} </td> </tr> </table> </form> </div> </th> <!-- END edit --> <!-- BEGIN show_title --> <th class="thCornerR" align="right" width="1"> </th> <!-- END show_title --> <!-- BEGIN block_header --> </tr> </table> </td> </tr> </table> <!-- END block_header --> <div id="block_{layout_column.blocks.BLOCK_ID}"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td> {layout_column.blocks.BLOCK} </td> </tr> </table> </div> <!-- BEGIN graph_border --> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}2-3.gif" width="5"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> </tr> <tr> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}3-1.gif" width="5" height="5" alt="" /> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}3-2.gif" width="100%"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}3-3.gif" width="5" height="5" alt="" /> </td> </tr> </table> <!-- END graph_border --> </td> </tr> </table> <!-- BEGIN block_stats --> <div align="right"><span class="copyright">{layout_column.blocks.block_stats.L_BLOCK_UPDATED}{layout_column.blocks.block_stats.EDITOR_NAME} ({layout_column.blocks.block_stats.EDIT_TIME})</span></div> <br clear="all" /> <!-- END block_stats --> <!-- BEGIN no_stats --> <br clear="all" /> <!-- END no_stats --> <!-- BEGIN sub_col --> </td> <!-- END sub_col --> <!-- BEGIN sub_end --> </tr> </table> <!-- END sub_end --> <!-- END blocks --> </td> <!-- END layout_column --> </tr> </table> --- NEW FILE: gecko.css --- /* Addon defs for gecko browsers, or redefined */ --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> --- NEW FILE: mxSilver.cfg --- <?php /** * * @package mxBB Portal Core * @version $Id: mxSilver.cfg,v 1.1 2007/09/09 16:50:46 jonohlsson Exp $ * @copyright (c) 2002-2006 mxBB Project Team * @license http://opensource.org/licenses/gpl-license.php GNU General Public License v2 * */ /** Default standalone mxBB style, by: * * The mxBB Development Team * Version: 1.0 * Requirements: mxBB Core 2.8.x * */ /** Based on original theme by: * * copyright (C) 2001 The phpBB Group * Created by subBlue design * www.subBlue.com * subSilver dev. forum: www.subSky.com/phpBB2/ * */ $mx_template_settings['portal_backend'] = 'internal'; // // Do not alter this line! // define(MX_TEMPLATE_CONFIG, true); $mx_template_config = true; /********************************************************************************\ | Template Setup | - define general template settings \********************************************************************************/ // // Credits, copyrights etc $mx_template_settings['template_copy'] = 'Original subSilver theme for phpBB by <a href="http://www.subSky.com/phpBB2/">subBlue design</a> :: Adapted for mxBB by <a href="http://www.mxbb.net">The mxBB Development Team</a>'; // // When creating a new template, you normally "clone" a template and modify a number of *.tpl files. // For similar templates this means only a few files are different. // For example: you may have a template similar to subSilver, but with a different overall_header.tpl - the other files are identical. // Then this template should only contain one *.tpl file, namely overall_header.tpl, // and with $mx_template_settings['cloned_template'] = 'subSilver'. // If this template is a full set of *.tpl files, leave this blank. $mx_template_settings['cloned_template'] = ''; // // Block border graphics are defined in mx_main_layout.tpl, within the 'graph_border' template environment. // Turning this setting 'false' will disable block border graphics. $mx_template_settings['border_graphics'] = false; /********************************************************************************\ | Define what graphics bundles to use | - these are very handy paths to ALL kind of phpBB/mxBB graphics \********************************************************************************/ $mx_images['mx_graphics']['general'] = file_exists( $mx_root_path . $current_template_path . "/images/logo.gif" ) ? $current_template_path . "/images" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/logo.gif" ) ? $cloned_template_path . "/images" : $default_template_path . "/images" ); $mx_images['mx_graphics']['page_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/page_icons" ) ? $current_template_path . "/images/page_icons" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/page_icons" ) ? $cloned_template_path . "/images/page_icons" : $default_template_path . "/images/page_icons" ); $mx_images['mx_graphics']['block_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/block_icons" ) ? $current_template_path . "/images/block_icons" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/block_icons" ) ? $cloned_template_path . "/images/block_icons" : $default_template_path . "/images/block_icons" ); $mx_images['mx_graphics']['menu_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/menu_icons" ) ? $current_template_path . "/images/menu_icons" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/menu_icons" ) ? $cloned_template_path . "/images/menu_icons" : $default_template_path . "/images/menu_icons" ); $mx_images['mx_graphics']['admin_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/admin_icons" ) ? $current_template_path . "/images/admin_icons" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/admin_icons" ) ? $cloned_template_path . "/images/admin_icons" : $default_template_path . "/images/admin_icons" ); // // Standalone mxBB installation? Where are the phpbb images? // //$mx_images['mx_graphics']['phpbb_icons'] = file_exists( $phpbb_root_path . $current_template_path . "/images" ) ? $current_template_path . "/images" : ( file_exists( $phpbb_root_path . $cloned_template_path . "/images" ) ? $cloned_template_path . "/images" : $default_template_path . "/images"); $mx_images['mx_graphics']['phpbb_icons'] = file_exists( $mx_root_path . $current_template_path . "/images/phpbb2" ) ? $current_template_path . "/images/phpbb2" : ( file_exists( $mx_root_path . $cloned_template_path . "/images/phpbb2" ) ? $cloned_template_path . "/images/phpbb2" : $default_template_path . "/images/phpbb2" ); // // Prefix all paths to get full img URLs // $current_template_images = PORTAL_URL . $mx_images['mx_graphics']['general']; // Logo etc $current_template_page_images = PORTAL_URL . $mx_images['mx_graphics']['page_icons']; // Used by adminCP - Pages $current_template_block_images = PORTAL_URL . $mx_images['mx_graphics']['block_icons']; // Used by userCP block buttons $current_template_menu_images = PORTAL_URL . $mx_images['mx_graphics']['menu_icons']; // Used by adminCP - Navigation Menu $current_template_admin_images = PORTAL_URL . $mx_images['mx_graphics']['admin_icons']; // Internal graphics for the mxBB adminCP // // Standalone mxBB installation? Where are the phpbb images? // //$current_template_phpbb_images = PHPBB_URL . $mx_images['mx_graphics']['phpbb_icons']; // phpBB graphics template $current_template_phpbb_images = PORTAL_URL . $mx_images['mx_graphics']['phpbb_icons']; // phpBB graphics template // // Define the icon css style // $mx_images['mx_graphics']['icon_style'] = '<style type="text/css"> .mx_icon { vertical-align: middle; background-color:; background-image: url('.$current_template_menu_images.'/icon_bg.gif); background-repeat: no-repeat; } .mx_icon_hot { vertical-align: middle; background-color:; background-image: url('.$current_template_menu_images.'/icon_bg.gif); background-repeat: no-repeat; } </style>'; /********************************************************************************\ | Page Navigation Images | 1. If you want to control the overall_header.tpl images from this *.cfg file, make defintions below | 2. Or if not, use hardcoded image paths in overall_header.tpl, just like in the phpBB standard subSilver overall_header.tpl. \********************************************************************************/ // // Use mxBB graphics - normally the menu_icons bundle // $mx_images['mx_nav_home'] = "$current_template_menu_images/icon_home.gif"; // {NAV_IMAGES_HOME} $mx_images['mx_nav_forum'] = "$current_template_menu_images/icon_forum.gif"; // {NAV_IMAGES_FORUM} $mx_images['mx_nav_profile'] = "$current_template_menu_images/icon_profile.gif"; // {NAV_IMAGES_PROFILE} $mx_images['mx_nav_faq'] = "$current_template_menu_images/icon_faq.gif"; // {NAV_IMAGES_FAQ} $mx_images['mx_nav_search'] = "$current_template_menu_images/icon_search.gif"; // {NAV_IMAGES_SEARCH} $mx_images['mx_nav_members'] = "$current_template_menu_images/icon_members.gif"; // {NAV_IMAGES_MEMBERS} $mx_images['mx_nav_groups'] = "$current_template_menu_images/icon_groups.gif"; // {NAV_IMAGES_GROUPS} $mx_images['mx_nav_mail'] = "$current_template_menu_images/icon_mail.gif"; // {NAV_IMAGES_PRIVMSG} $mx_images['mx_nav_login'] = "$current_template_menu_images/icon_login.gif"; // {NAV_IMAGES_LOGIN_LOGOUT} $mx_images['mx_nav_register'] = "$current_template_menu_images/icon_register.gif"; // {NAV_IMAGES_REGISTER} // // Use standard phpBB graphics // /* $mx_images['mx_nav_home'] = "$current_template_phpbb_images/icon_minipost.gif"; $mx_images['mx_nav_forum'] = "$current_template_phpbb_images/icon_minipost.gif"; $mx_images['mx_nav_profile'] = "$current_template_phpbb_images/icon_mini_profile.gif"; $mx_images['mx_nav_faq'] = "$current_template_phpbb_images/icon_mini_faq.gif"; $mx_images['mx_nav_search'] = "$current_template_phpbb_images/icon_mini_search.gif"; $mx_images['mx_nav_members'] = "$current_template_phpbb_images/icon_mini_members.gif"; $mx_images['mx_nav_groups'] = "$current_template_phpbb_images/icon_mini_groups.gif"; $mx_images['mx_nav_mail'] = "$current_template_phpbb_images/icon_mini_message.gif"; $mx_images['mx_nav_login'] = "$current_template_phpbb_images/icon_mini_login.gif"; $mx_images['mx_nav_register'] = "$current_template_phpbb_images/icon_mini_register.gif"; */ /********************************************************************************\ | Block Images | - these images are used for the block editCP buttons and controls \********************************************************************************/ $mx_images['mx_contract'] = "$current_template_block_images/contract.gif"; $mx_images['mx_expand'] = "$current_template_block_images/expand.gif"; $mx_images['mx_block_edit_admin'] = "$current_template_block_images/block_edit_admin.gif"; $mx_images['mx_block_edit_split'] = "$current_template_block_images/block_edit_split.gif"; $mx_images['mx_block_edit'] = "$current_template_block_images/block_edit.gif"; $mx_images['mx_block_hidden'] = "$current_template_block_images/block_hidden.gif"; /********************************************************************************\ | adminCP/editCP Images | - these images are used for the adminCP & block editCP \********************************************************************************/ $mx_images['mx_spacer'] = "$current_template_phpbb_images/spacer.gif"; // // phpBB Graphics - for standalone mxBB installation // $images['icon_quote'] = "$current_template_phpbb_images/{LANG}/icon_quote.gif"; $images['icon_edit'] = "$current_template_phpbb_images/{LANG}/icon_edit.gif"; $images['icon_search'] = "$current_template_phpbb_images/{LANG}/icon_search.gif"; $images['icon_profile'] = "$current_template_phpbb_images/{LANG}/icon_profile.gif"; $images['icon_pm'] = "$current_template_phpbb_images/{LANG}/icon_pm.gif"; $images['icon_email'] = "$current_template_phpbb_images/{LANG}/icon_email.gif"; $images['icon_delpost'] = "$current_template_phpbb_images/icon_delete.gif"; //$images['icon_ip'] = "$current_template_phpbb_images/{LANG}/icon_ip.gif"; $images['icon_www'] = "$current_template_phpbb_images/{LANG}/icon_www.gif"; //$images['icon_icq'] = "$current_template_phpbb_images/{LANG}/icon_icq_add.gif"; //$images['icon_aim'] = "$current_template_phpbb_images/{LANG}/icon_aim.gif"; //$images['icon_yim'] = "$current_template_phpbb_images/{LANG}/icon_yim.gif"; //$images['icon_msnm'] = "$current_template_phpbb_images/{LANG}/icon_msnm.gif"; $images['icon_minipost'] = "$current_template_phpbb_images/icon_minipost.gif"; $images['icon_gotopost'] = "$current_template_phpbb_images/icon_minipost.gif"; $images['icon_minipost_new'] = "$current_template_phpbb_images/icon_minipost_new.gif"; $images['icon_latest_reply'] = "$current_template_phpbb_images/icon_latest_reply.gif"; $images['icon_newest_reply'] = "$current_template_phpbb_images/icon_newest_reply.gif"; $images['forum'] = "$current_template_phpbb_images/folder_big.gif"; $images['forum_new'] = "$current_template_phpbb_images/folder_new_big.gif"; $images['forum_locked'] = "$current_template_phpbb_images/folder_locked_big.gif"; $images['folder'] = "$current_template_phpbb_images/folder.gif"; $images['folder_new'] = "$current_template_phpbb_images/folder_new.gif"; $images['folder_hot'] = "$current_template_phpbb_images/folder_hot.gif"; $images['folder_hot_new'] = "$current_template_phpbb_images/folder_new_hot.gif"; $images['folder_locked'] = "$current_template_phpbb_images/folder_lock.gif"; $images['folder_locked_new'] = "$current_template_phpbb_images/folder_lock_new.gif"; $images['folder_sticky'] = "$current_template_phpbb_images/folder_sticky.gif"; $images['folder_sticky_new'] = "$current_template_phpbb_images/folder_sticky_new.gif"; $images['folder_announce'] = "$current_template_phpbb_images/folder_announce.gif"; $images['folder_announce_new'] = "$current_template_phpbb_images/folder_announce_new.gif"; $images['post_new'] = "$current_template_phpbb_images/{LANG}/post.gif"; $images['post_locked'] = "$current_template_phpbb_images/{LANG}/reply-locked.gif"; $images['reply_new'] = "$current_template_phpbb_images/{LANG}/reply.gif"; $images['reply_locked'] = "$current_template_phpbb_images/{LANG}/reply-locked.gif"; //$images['pm_inbox'] = "$current_template_phpbb_images/msg_inbox.gif"; //$images['pm_outbox'] = "$current_template_phpbb_images/msg_outbox.gif"; //$images['pm_savebox'] = "$current_template_phpbb_images/msg_savebox.gif"; //$images['pm_sentbox'] = "$current_template_phpbb_images/msg_sentbox.gif"; $images['pm_readmsg'] = "$current_template_phpbb_images/folder.gif"; $images['pm_unreadmsg'] = "$current_template_phpbb_images/folder_new.gif"; $images['pm_replymsg'] = "$current_template_phpbb_images/{LANG}/reply.gif"; $images['pm_postmsg'] = "$current_template_phpbb_images/{LANG}/msg_newpost.gif"; $images['pm_quotemsg'] = "$current_template_phpbb_images/{LANG}/icon_quote.gif"; $images['pm_editmsg'] = "$current_template_phpbb_images/{LANG}/icon_edit.gif"; $images['pm_new_msg'] = ""; $images['pm_no_new_msg'] = ""; $images['Topic_watch'] = ""; $images['topic_un_watch'] = ""; //$images['topic_mod_lock'] = "$current_template_phpbb_images/topic_lock.gif"; //$images['topic_mod_unlock'] = "$current_template_phpbb_images/topic_unlock.gif"; //$images['topic_mod_split'] = "$current_template_phpbb_images/topic_split.gif"; //$images['topic_mod_move'] = "$current_template_phpbb_images/topic_move.gif"; //$images['topic_mod_delete'] = "$current_template_phpbb_images/topic_delete.gif"; $images['voting_graphic'][0] = "$current_template_phpbb_images/voting_bar.gif"; $images['voting_graphic'][1] = "$current_template_phpbb_images/voting_bar.gif"; $images['voting_graphic'][2] = "$current_template_phpbb_images/voting_bar.gif"; $images['voting_graphic'][3] = "$current_template_phpbb_images/voting_bar.gif"; $images['voting_graphic'][4] = "$current_template_phpbb_images/voting_bar.gif"; // // Populate the $theme colors - for standalone mxBB // $template_config_row['body_background'] = ""; $template_config_row['body_bgcolor'] = "E5E5E5"; $template_config_row['body_text'] = "000000"; $template_config_row['body_link'] = "006699"; $template_config_row['body_vlink'] = "5493B4"; $template_config_row['body_alink'] = ""; $template_config_row['body_hlink'] = "DD6900"; $template_config_row['tr_color1'] = "EFEFEF"; $template_config_row['tr_color2'] = "DEE3E7"; $template_config_row['tr_color3'] = "D1D7DC"; $template_config_row['tr_class1'] = ""; $template_config_row['tr_class2'] = ""; $template_config_row['tr_class3'] = ""; $template_config_row['th_color1'] = "98AAB1"; $template_config_row['th_color2'] = "006699"; $template_config_row['th_color3'] = "FFFFFF"; $template_config_row['th_class1'] = "cellpic1.gif"; $template_config_row['th_class2'] = "cellpic3.gif"; $template_config_row['th_class3'] = "cellpic2.jpg"; $template_config_row['td_color1'] = "FAFAFA"; $template_config_row['td_color2'] = "FFFFFF"; $template_config_row['td_color3'] = ""; $template_config_row['td_class1'] = "row1"; $template_config_row['td_class2'] = "row2"; $template_config_row['td_class3'] = ""; $template_config_row['fontface1'] = "Verdana, Arial, Helvetica, sans-serif"; $template_config_row['fontface2'] = "Trebuchet MS"; $template_config_row['fontface3'] = "Courier, \'Courier New\', sans-serif"; $template_config_row['fontsize1'] = "10"; $template_config_row['fontsize2'] = "11"; $template_config_row['fontsize3'] = "12"; $template_config_row['fontcolor1'] = "444444"; $template_config_row['fontcolor2'] = "006600"; $template_config_row['fontcolor3'] = "FFA34F"; $template_config_row['span_class1'] = ""; $template_config_row['span_class2'] = ""; $template_config_row['span_class3'] = ""; $template_config_row['img_size_poll'] = "0"; $template_config_row['img_size_privmsg'] = "0"; /********************************************************************************\ | CORE Images \********************************************************************************/ // // Logo // $mx_images['mx_logo'] = "$current_template_images/logo.gif";; // // SiteLog // $mx_images['mx_dot'] = $images['folder']; // // Online Block // $mx_images['mx_who_is_online'] = "$current_template_phpbb_images/whosonline.gif"; ?> --- NEW FILE: overall_header.tpl --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="{S_CONTENT_DIRECTION}"> <head> <meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}"> <meta http-equiv="Content-Style-Type" content="text/css"> <!-- BEGIN switch_set_base --> <base href="{U_PORTAL_ROOT_PATH}" > <!-- END switch_set_base --> {META} {NAV_LINKS} <title>{SITENAME} :: {PAGE_TITLE}</title> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <link rel="stylesheet" href="{U_PHPBB_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_PHPBB_STYLESHEET}" type="text/css" > <!-- Then load mxBB template *.css definition for mx, located in the the portal template folder --> <link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_MXBB_STYLESHEET}" type="text/css" > <!-- Optionally, redefine some defintions for gecko browsers --> <!-- BEGIN switch_gecko --><link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_GECKO_STYLESHEET}" type="text/css" ><!-- END switch_gecko --> {MX_ADDITIONAL_CSS_FILES} {MX_ICON_CSS} <!-- BEGIN switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- if( {PRIVATE_MESSAGE_NEW_FLAG} ) { window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); } // --></script> <!-- END switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- function checkSearch() { if (document.search_block.search_engine.value == 'google') { window.open('http://www.google.com/search?q=' + document.search_block.search_keywords.value, '_google', ''); return false; } else if (document.search_block.search_engine.value == 'site') { window.open('{U_SEARCH_SITE}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'kb') { window.open('{U_SEARCH_KB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'pafiledb') { window.open('{U_SEARCH_PAFILEDB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else { return true; } } // --></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Common.js"></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Toggle.js"></script> {MX_ADDITIONAL_JS_FILES} {MX_ADDITIONAL_HEADER_TEXT} </head> <body bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}"> <a name="top"></a> <table width="100%" cellspacing="0" cellpadding="1" border="0" align="center" class="mx_main_table"> <tr> <td class="bodyline"> <table width="100%" cellspacing="0" cellpadding="2" border="0" class="mx_header_table"> <tr> <td class="row3" width="25%" align="left" valign="top"><a href="{U_INDEX}"><img src="{LOGO}" border="0" alt="{L_INDEX}" vspace="1"/></a></td> <td class="row3" width="50%" align="center" valign="middle">{PAGE_ICON}<span class="pagetitle">{PAGE_TITLE}</span></td> <td class="row3" width="25%" align="right" valign="top"><span class="sitetitle">{SITENAME}</span><br /><span class="sitetitle_desc">{SITE_DESCRIPTION}</span></td> </tr> <tr> <td class="cat" align="center" valign="middle" colspan="3"> <table cellspacing="1" cellpadding="1" border="0"> <tr> <td align="center" valign="middle" nowrap > <a href="{U_INDEX}" class="mainmenu"><img src="{NAV_IMAGES_HOME}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_INDEX}" class="mainmenu">{L_HOME}</a></span> </td> <td align="center" valign="middle" nowrap> <a href="{U_INDEX_FORUM}" class="mainmenu"><img src="{NAV_IMAGES_FORUM}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_INDEX_FORUM}" class="mainmenu">{L_FORUM}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_in --> <a href="{U_PROFILE}" class="mainmenu"><img src="{NAV_IMAGES_PROFILE}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_PROFILE}" class="mainmenu">{L_PROFILE}</a></span> <!-- END switch_user_logged_in --> </td> <td align="center" valign="middle" nowrap> <a href="{U_FAQ}" class="mainmenu"><img src="{NAV_IMAGES_FAQ}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_FAQ}" class="mainmenu">{L_FAQ}</a></span> </td> <!-- <td align="center" valign="middle" nowrap> <a href="{U_SEARCH}" class="mainmenu"><img src="{NAV_IMAGES_SEARCH}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_SEARCH}" class="mainmenu">{L_SEARCH}</a></span> </td> --> <td align="center" valign="middle" nowrap> <a href="{U_MEMBERLIST}" class="mainmenu"><img src="{NAV_IMAGES_MEMBERS}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_MEMBERLIST}" class="mainmenu">{L_MEMBERLIST}</a></span> </td> <td align="center" valign="middle" nowrap> <a href="{U_GROUP_CP}" class="mainmenu"><img src="{NAV_IMAGES_GROUPS}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_GROUP_CP}" class="mainmenu">{L_USERGROUPS}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_in --> <a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="{NAV_IMAGES_PRIVMSG}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_PRIVATEMSGS}" class="mainmenu">{L_PRIVATEMSGS}</a></span> <!-- END switch_user_logged_in --> </td> </tr> </table> </td> </tr> <!-- BEGIN switch_view --> <tr> <td align="left" valign="bottom" colspan="3" ><span class="gensmall">{CURRENT_TIME}</span></td> </tr> <tr> <td align="left" valign="bottom" colspan="3" ><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td> </tr> <!-- END switch_view --> </table> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="center" valign="middle" nowrap> <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="{NAV_IMAGES_LOGIN_LOGOUT}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_LOGIN_LOGOUT}" class="mainmenu">{L_LOGIN_LOGOUT}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_out --> <a href="{U_REGISTER}" class="mainmenu"><img src="{NAV_IMAGES_REGISTER}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_REGISTER}" class="mainmenu">{L_REGISTER}</a></span> <!-- END switch_user_logged_out --> </td> <td valign="top" align="right" width="100%" height="5" > <form name="search_block" method="post" action="{U_SEARCH}" onsubmit="return checkSearch()"> <a href="{U_SEARCH}" class="gen"><span class="gen">{L_SEARCH}</span></a>: <input class="post" type="text" name="search_keywords" size="15" value="...?" onfocus="if(this.value=='...?'){this.value='';}" onblur="if(this.value==''){this.value='...?';}"> <select class="post" name="search_engine"> {L_SEARCH_SITE} {L_SEARCH_FORUM} {L_SEARCH_KB} {L_SEARCH_PAFILEDB} {L_SEARCH_GOOGLE} </select> <input type="hidden" name="search_fields" value="all"> <input type="hidden" name="show_results" value="topics"> <input class="mainoption" type="submit" value="Search"> </form> </td> <td valign="top" align="left" width="5" height="5" > </td> </tr> </table> <!-- BEGIN phpbb_stats --> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="left" valign="top" ><span class="gensmall"> <!-- BEGIN switch_user_logged_in --> {LAST_VISIT_DATE}<br /> <!-- END switch_user_logged_in --> {CURRENT_TIME}<br /></span> </td> <td align="right" valign="top" > <!-- BEGIN switch_user_logged_in --> <a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br /> <!-- END switch_user_logged_in --> <a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a> </td> </tr> </table> <!-- END phpbb_stats --> --- NEW FILE: overall_noheader.tpl --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="{S_CONTENT_DIRECTION}"> <head> <meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}"> <meta http-equiv="Content-Style-Type" content="text/css"> {META} {NAV_LINKS} <title>{SITENAME} :: {PAGE_TITLE}</title> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <link rel="stylesheet" href="{U_PHPBB_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_PHPBB_STYLESHEET}" type="text/css" > <!-- Then load mxBB template *.css definition for mx, located in the the portal template folder --> <link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_MXBB_STYLESHEET}" type="text/css" > <!-- Optionally, redefine some defintions for gecko browsers --> <!-- BEGIN switch_gecko --><link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_GECKO_STYLESHEET}" type="text/css" ><!-- END switch_gecko --> <!-- BEGIN switch_enable_pm_popup --> <script language="Javascript" type="text/javascript"> <!-- if ( {PRIVATE_MESSAGE_NEW_FLAG} ) { window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');; } //--> </script> <!-- END switch_enable_pm_popup --> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Common.js"></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Toggle.js"></script> </head> <body bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}" /> <a name="top"></a> --- NEW FILE: overall_footer.tpl --- <div align="center"> <span class="copyright"> <!-- BEGIN editcp_exists --> <span class="genmed">{editcp_exists.ADMIN_OPTIONS}</span> <span class="newsbutton" onclick="mx_toggle_editCP(this, 'editCP_switch', '{editcp_exists.EDITCP_EXPAND_IMG}', '{editcp_exists.EDITCP_CONTRACT_IMG}');"><img src="{editcp_exists.EDITCP_DYNAMIC_IMG}" border="0" alt="" /></span><br /> <!-- END editcp_exists --> {ADMIN_LINK}<br /> <!-- We request you retain the full copyright notice below including the link to www.phpbb.com. This not only gives respect to the large amount of time given freely by the developers but also helps build interest, traffic and use of phpBB 2.0. If you cannot (for good reason) retain the full copyright we request you at least leave in place the Powered by phpBB line, with phpBB linked to www.phpbb.com. If you refuse to include even this then support on our forums may be affected. The phpBB Group : 2002 & mxBB Team : 2002 // --> {POWERED_BY} <a href="http://www.mxbb.net/" target="_mx-system" class="copyright">mxBB Portal</a> {MX_VERSION} © 2001-2007 & <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB</a> {PHPBB_VERSION} © 2001, 2003 phpBB Group | <a href="{MXBB_EXTRA_URL}" target="_phpbb" class="copyright">{MXBB_EXTRA}</a> </div> </td> </tr> </table> <!-- This displays generation info at the bottom of the page --> {EXECUTION_STATS} {MX_ADDITIONAL_FOOTER_TEXT} </body> </html> --- NEW FILE: overall_header_navigation.tpl --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="{S_CONTENT_DIRECTION}"> <head> <meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}"> <meta http-equiv="Content-Style-Type" content="text/css"> <!-- BEGIN switch_set_base --> <base href="{U_PORTAL_ROOT_PATH}" > <!-- END switch_set_base --> {META} {NAV_LINKS} <title>{SITENAME} :: {PAGE_TITLE}</title> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <link rel="stylesheet" href="{U_PHPBB_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_PHPBB_STYLESHEET}" type="text/css" > <!-- Then load mxBB template *.css definition for mx, located in the the portal template folder --> <link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_MXBB_STYLESHEET}" type="text/css" > <!-- Optionally, redefine some defintions for gecko browsers --> <!-- BEGIN switch_gecko --><link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_GECKO_STYLESHEET}" type="text/css" ><!-- END switch_gecko --> {MX_ADDITIONAL_CSS_FILES} {MX_ICON_CSS} <!-- BEGIN switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- if( {PRIVATE_MESSAGE_NEW_FLAG} ) { window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); } // --></script> <!-- END switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- function checkSearch() { if (document.search_block.search_engine.value == 'google') { window.open('http://www.google.com/search?q=' + document.search_block.search_keywords.value, '_google', ''); return false; } else if (document.search_block.search_engine.value == 'site') { window.open('{U_SEARCH_SITE}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'kb') { window.open('{U_SEARCH_KB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'pafiledb') { window.open('{U_SEARCH_PAFILEDB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else { return true; } } // --></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Common.js"></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Toggle.js"></script> {MX_ADDITIONAL_JS_FILES} {MX_ADDITIONAL_HEADER_TEXT} </head> <body bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}"> <a name="top"></a> <table width="780" cellspacing="0" cellpadding="1" border="0" align="center" class="mx_main_table"> <tr> <td class="bodyline"> <table width="100%" cellspacing="0" cellpadding="2" border="0" class="mx_header_table"> <tr> <td class="row3" width="25%" align="left" valign="top"><a href="{U_INDEX}"><img src="{LOGO}" border="0" alt="{L_INDEX}" vspace="1"/></a></td> <td class="row3" width="50%" align="center" valign="middle">{PAGE_ICON}<span class="pagetitle">{PAGE_TITLE}</span></td> <td class="row3" width="25%" align="right" valign="top"><span class="sitetitle">{SITENAME}</span><br /><span class="sitetitle_desc">{SITE_DESCRIPTION}</span></td> </tr> <tr> <td class="row2" align="center" valign="middle" colspan="3"> {OVERALL_NAVIGATION} </td> </tr> <!-- BEGIN editcp --> <tr> <td class="row2" align="center" valign="middle" colspan="3"> <div class="editCP_switch" style="display: {editcp.EDITCP_SHOW};"> <form action="{editcp.EDIT_ACTION}" method="post" class="mx_editform"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td align="right"> {editcp.EDIT_IMG} {editcp.S_HIDDEN_FORM_FIELDS} </td> </tr> </table> </form> </div> </td> </tr> <!-- END editcp --> <!-- BEGIN switch_view --> <tr> <td align="left" valign="bottom" colspan="3" ><span class="gensmall">{CURRENT_TIME}</span></td> </tr> <tr> <td align="left" valign="bottom" colspan="3" ><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td> </tr> <!-- END switch_view --> </table> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="center" valign="middle" nowrap> <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="{NAV_IMAGES_LOGIN_LOGOUT}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_LOGIN_LOGOUT}" class="mainmenu">{L_LOGIN_LOGOUT}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_out --> <a href="{U_REGISTER}" class="mainmenu"><img src="{NAV_IMAGES_REGISTER}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_REGISTER}" class="mainmenu">{L_REGISTER}</a></span> <!-- END switch_user_logged_out --> </td> <td valign="top" align="right" width="100%" height="5" > <form name="search_block" method="post" action="{U_SEARCH}" onsubmit="return checkSearch()"> <a href="{U_SEARCH}" class="gen"><span class="gen">{L_SEARCH}</span></a>: <input class="post" type="text" name="search_keywords" size="15" value="...?" onfocus="if(this.value=='...?'){this.value='';}" onblur="if(this.value==''){this.value='...?';}"> <select class="post" name="search_engine"> {L_SEARCH_SITE} {L_SEARCH_FORUM} {L_SEARCH_KB} {L_SEARCH_PAFILEDB} {L_SEARCH_GOOGLE} </select> <input type="hidden" name="search_fields" value="all"> <input type="hidden" name="show_results" value="topics"> <input class="mainoption" type="submit" value="Search"> </form> </td> <td valign="top" align="left" width="5" height="5" > </td> </tr> </table> <!-- BEGIN phpbb_stats --> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="left" valign="top" ><span class="gensmall"> <!-- BEGIN switch_user_logged_in --> {LAST_VISIT_DATE}<br /> <!-- END switch_user_logged_in --> {CURRENT_TIME}<br /></span> </td> <td align="right" valign="top" > <!-- BEGIN switch_user_logged_in --> <a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br /> <!-- END switch_user_logged_in --> <a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a> </td> </tr> </table> <!-- END phpbb_stats --> --- NEW FILE: overall_header_navigation_phpbb.tpl --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="{S_CONTENT_DIRECTION}"> <head> <meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}"> <meta http-equiv="Content-Style-Type" content="text/css"> <!-- BEGIN switch_set_base --> <base href="{U_PORTAL_ROOT_PATH}" > <!-- END switch_set_base --> {META} {NAV_LINKS} <title>{SITENAME} :: {PAGE_TITLE}</title> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <link rel="stylesheet" href="{U_PHPBB_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_PHPBB_STYLESHEET}" type="text/css" > <!-- Then load mxBB template *.css definition for mx, located in the the portal template folder --> <link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_MXBB_STYLESHEET}" type="text/css" > <!-- Optionally, redefine some defintions for gecko browsers --> <!-- BEGIN switch_gecko --><link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_GECKO_STYLESHEET}" type="text/css" ><!-- END switch_gecko --> {MX_ADDITIONAL_CSS_FILES} {MX_ICON_CSS} <!-- BEGIN switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- if( {PRIVATE_MESSAGE_NEW_FLAG} ) { window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); } // --></script> <!-- END switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- function checkSearch() { if (document.search_block.search_engine.value == 'google') { window.open('http://www.google.com/search?q=' + document.search_block.search_keywords.value, '_google', ''); return false; } else if (document.search_block.search_engine.value == 'site') { window.open('{U_SEARCH_SITE}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'kb') { window.open('{U_SEARCH_KB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'pafiledb') { window.open('{U_SEARCH_PAFILEDB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else { return true; } } // --></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Common.js"></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Toggle.js"></script> {MX_ADDITIONAL_JS_FILES} {MX_ADDITIONAL_HEADER_TEXT} </head> <body bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}"> <a name="top"></a> <table width="850" cellspacing="0" cellpadding="1" border="0" align="center" class="mx_main_table"> <tr> <td class="bodyline" valign="top"> <table width="100%" cellspacing="0" cellpadding="2" border="0" class="mx_header_table"> <tr> <td class="row3" width="25%" align="left" valign="top"><a href="{U_INDEX}"><img src="{LOGO}" border="0" alt="{L_INDEX}" vspace="1"/></a></td> <td class="row3" width="50%" align="center" valign="middle">{PAGE_ICON}<span class="pagetitle">{PAGE_TITLE}</span></td> <td class="row3" width="25%" align="right" valign="top"><span class="sitetitle">{SITENAME}</span><br /><span class="sitetitle_desc">{SITE_DESCRIPTION}</span></td> </tr> <tr> <td class="row2" align="center" valign="middle" colspan="3"> {OVERALL_NAVIGATION} </td> </tr> <tr> <td class="cat" align="center" valign="middle" colspan="3"> <table cellspacing="1" cellpadding="1" border="0"> <tr> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_in --> <a href="{U_PROFILE}" class="mainmenu"><img src="{NAV_IMAGES_PROFILE}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_PROFILE}" class="mainmenu">{L_PROFILE}</a></span> <!-- END switch_user_logged_in --> </td> <td align="center" valign="middle" nowrap> <a href="{U_FAQ}" class="mainmenu"><img src="{NAV_IMAGES_FAQ}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_FAQ}" class="mainmenu">{L_FAQ}</a></span> </td> <td align="center" valign="middle" nowrap> <a href="{U_SEARCH}" class="mainmenu"><img src="{NAV_IMAGES_SEARCH}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_SEARCH}" class="mainmenu">{L_SEARCH}</a></span> </td> <td align="center" valign="middle" nowrap> <a href="{U_MEMBERLIST}" class="mainmenu"><img src="{NAV_IMAGES_MEMBERS}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_MEMBERLIST}" class="mainmenu">{L_MEMBERLIST}</a></span> </td> <td align="center" valign="middle" nowrap> <a href="{U_GROUP_CP}" class="mainmenu"><img src="{NAV_IMAGES_GROUPS}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_GROUP_CP}" class="mainmenu">{L_USERGROUPS}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_in --> <a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="{NAV_IMAGES_PRIVMSG}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_PRIVATEMSGS}" class="mainmenu">{L_PRIVATEMSGS}</a></span> <!-- END switch_user_logged_in --> </td> </tr> </table> </td> </tr> <!-- BEGIN switch_view --> <tr> <td align="left" valign="bottom" colspan="3" ><span class="gensmall">{CURRENT_TIME}</span></td> </tr> <tr> <td align="left" valign="bottom" colspan="3" ><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td> </tr> <!-- END switch_view --> </table> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="center" valign="middle" nowrap> <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="{NAV_IMAGES_LOGIN_LOGOUT}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_LOGIN_LOGOUT}" class="mainmenu">{L_LOGIN_LOGOUT}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_out --> <a href="{U_REGISTER}" class="mainmenu"><img src="{NAV_IMAGES_REGISTER}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_REGISTER}" class="mainmenu">{L_REGISTER}</a></span> <!-- END switch_user_logged_out --> </td> <td valign="top" align="right" width="100%" height="5" > <!-- <form name="search_block" method="post" action="{U_SEARCH}" onsubmit="return checkSearch()"> <a href="{U_SEARCH}" class="gen"><span class="gen">{L_SEARCH}</span></a>: <input class="post" type="text" name="search_keywords" size="15" value="...?" onfocus="if(this.value=='...?'){this.value='';}" onblur="if(this.value==''){this.value='...?';}"> <select class="post" name="search_engine"> {L_SEARCH_SITE} {L_SEARCH_FORUM} {L_SEARCH_KB} {L_SEARCH_PAFILEDB} {L_SEARCH_GOOGLE} </select> <input type="hidden" name="search_fields" value="all"> <input type="hidden" name="show_results" value="topics"> <input class="mainoption" type="submit" value="Search"> </form> --> <a href="http://www.mx-system.com/page144" class="gen"><span class="gen"><b>[{L_SEARCH}]</b></span></a> </td> <td valign="top" align="left" width="5" height="5" > </td> </tr> </table> <!-- BEGIN phpbb_stats --> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="left" valign="top" ><span class="gensmall"> <!-- BEGIN switch_user_logged_in --> {LAST_VISIT_DATE}<br /> <!-- END switch_user_logged_in --> {CURRENT_TIME}<br /></span> </td> <td align="right" valign="top" > <!-- BEGIN switch_user_logged_in --> <a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br /> <!-- END switch_user_logged_in --> <a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a> </td> </tr> </table> <!-- END phpbb_stats --> --- NEW FILE: mxSilver.css --- /* The original subSilver Theme for phpBB version 2+ Created by subBlue design http://www.subBlue.com */ /* General page style. The scroll bar colours only visible in IE5.5+ */ body { background-color: #E5E5E5; scrollbar-face-color: #DEE3E7; scrollbar-highlight-color: #FFFFFF; scrollbar-shadow-color: #DEE3E7; scrollbar-3dlight-color: #D1D7DC; scrollbar-arrow-color: #006699; scrollbar-track-color: #EFEFEF; scrollbar-darkshadow-color: #98AAB1; } /* General font families for common tags */ font,th,td,p { font-family: Verdana, Arial, Helvetica, sans-serif } a:link,a:active,a:visited { color : #006699; } a:hover { text-decoration: underline; color : #DD6900; } hr { height: 0px; border: solid #D1D7DC 0px; border-top-width: 1px;} /* This is the border line & background colour round the entire page */ .bodyline { background-color: #FFFFFF; border: 1px #98AAB1 solid; } /* This is the outline round the main forum tables */ .forumline { background-color: #FFFFFF; border: 2px #006699 solid; } /* Main table cell colours and backgrounds */ td.row1 { background-color: #EFEFEF; } td.row2 { background-color: #DEE3E7; } td.row3 { background-color: #D1D7DC; } /* This is for the table cell above the Topics, Post & Last posts on the index.php page By default this is the fading out gradiated silver background. However, you could replace this with a bitmap specific for each forum */ td.rowpic { background-color: #FFFFFF; background-image: url(images/cellpic2.jpg); background-repeat: repeat-y; } /* Header cells - the blue and silver gradient backgrounds */ th { color: #FFA34F; font-size: 11px; font-weight : bold; background-color: #006699; height: 25px; background-image: url(images/cellpic3.gif); } td.cat,td.catHead,td.catSides,td.catLeft,td.catRight,td.catBottom { background-image: url(images/cellpic1.gif); background-color:#D1D7DC; border: #FFFFFF; border-style: solid; height: 28px; } /* Setting additional nice inner borders for the main table cells. The names indicate which sides the border will be on. Don't worry if you don't understand this, just ignore it :-) */ td.cat,td.catHead,td.catBottom { height: 29px; border-width: 0px 0px 0px 0px; } th.thHead,th.thSides,th.thTop,th.thLeft,th.thRight,th.thBottom,th.thCornerL,th.thCornerR { font-weight: bold; border: #FFFFFF; border-style: solid; height: 28px; } td.row3Right,td.spaceRow { background-color: #D1D7DC; border: #FFFFFF; border-style: solid; } th.thHead,td.catHead { font-size: 12px; border-width: 1px 1px 0px 1px; } th.thSides,td.catSides,td.spaceRow { border-width: 0px 1px 0px 1px; } th.thRight,td.catRight,td.row3Right { border-width: 0px 1px 0px 0px; } th.thLeft,td.catLeft { border-width: 0px 0px 0px 1px; } th.thBottom,td.catBottom { border-width: 0px 1px 1px 1px; } th.thTop { border-width: 1px 0px 0px 0px; } th.thCornerL { border-width: 1px 0px 0px 1px; } th.thCornerR { border-width: 1px 1px 0px 0px; } /* The largest text used in the index page title and toptic title etc. */ .maintitle,h1,h2 { font-weight: bold; font-size: 22px; font-family: "Trebuchet MS",Verdana, Arial, Helvetica, sans-serif; text-decoration: none; line-height : 120%; color : #000000; } /* General text */ .gen { font-size : 12px; } .genmed { font-size : 11px; } .gensmall { font-size : 10px; } .gen,.genmed,.gensmall { color : #000000; } a.gen,a.genmed,a.gensmall { color: #006699; text-decoration: none; } a.gen:hover,a.genmed:hover,a.gensmall:hover { color: #DD6900; text-decoration: underline; } /* The register, login, search etc links at the top of the page */ .mainmenu { font-size : 11px; color : #000000 } a.mainmenu { text-decoration: none; color : #006699; } a.mainmenu:hover{ text-decoration: underline; color : #DD6900; } /* Forum category titles */ .cattitle { font-weight: bold; font-size: 12px ; letter-spacing: 1px; color : #006699} a.cattitle { text-decoration: none; color : #006699; } a.cattitle:hover{ text-decoration: underline; } /* Forum title: Text and link to the forums used in: index.php */ .forumlink { font-weight: bold; font-size: 12px; color : #006699; } a.forumlink { text-decoration: none; color : #006699; } a.forumlink:hover{ text-decoration: underline; color : #DD6900; } /* Used for the navigation text, (Page 1,2,3 etc) and the navigation bar when in a forum */ .nav { font-weight: bold; font-size: 11px; color : #000000;} a.nav { text-decoration: none; color : #006699; } a.nav:hover { text-decoration: underline; } /* titles for the topics: could specify viewed link colour too */ .topictitle { font-weight: bold; font-size: 11px; color : #000000; } a.topictitle:link { text-decoration: none; color : #006699; } a.topictitle:visited { text-decoration: none; color : #5493B4; } a.topictitle:hover { text-decoration: underline; color : #DD6900; } /* Name of poster in viewmsg.php and viewtopic.php and other places */ .name { font-size : 11px; color : #000000;} /* Location, number of posts, post date etc */ .postdetails { font-size : 10px; color : #000000; } /* The content of the posts (body of text) */ .postbody { font-size : 12px;} a.postlink:link { text-decoration: none; color : #006699 } a.postlink:visited { text-decoration: none; color : #5493B4; } a.postlink:hover { text-decoration: underline; color : #DD6900} /* Quote & Code blocks */ .code { font-family: Courier, 'Courier New', sans-serif; font-size: 11px; color: #006600; background-color: #FAFAFA; border: #D1D7DC; border-style: solid; border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px } .quote { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #444444; line-height: 125%; background-color: #FAFAFA; border: #D1D7DC; border-style: solid; border-left-width: 1px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px } /* Copyright and bottom info */ .copyright { font-size: 10px; font-family: Verdana, Arial, Helvetica, sans-serif; color: #444444; letter-spacing: -1px;} a.copyright { color: #444444; text-decoration: none;} a.copyright:hover { color: #000000; text-decoration: underline;} /* Form elements */ input,textarea, select { color : #000000; font: normal 11px Verdana, Arial, Helvetica, sans-serif; border-color : #000000; } /* The text input fields background colour */ input.post, textarea.post, select { background-color : #FFFFFF; } input { text-indent : 2px; } /* The buttons used for bbCode styling in message post */ input.button { background-color : #EFEFEF; color : #000000; font-size: 11px; font-family: Verdana, Arial, Helvetica, sans-serif; } /* The main submit button option */ input.mainoption { background-color : #FAFAFA; font-weight : bold; } /* None-bold submit button */ input.liteoption { background-color : #FAFAFA; font-weight : normal; } /* This is the line in the posting page which shows the rollover help line. This is actually a text box, but if set to be the same colour as the background no one will know ;) */ .helpline { background-color: #DEE3E7; border-style: none; } /* Import the fancy styles for IE only (NS4.x doesn't use the @import function) */ /* @import url("formIE.css"); */ /* Fancy form styles for IE */ input, textarea, select { border-top-width : 1px; border-right-width : 1px; border-bottom-width : 1px; border-left-width : 1px; } input { text-indent : 2px; } input.button { border-top-width : 1px; border-right-width : 1px; border-bottom-width : 1px; border-left-width : 1px; } .postbody { line-height: 18px} /************************************************************\ | Addon or redefined CSS definitions for mxBB-Portal \************************************************************/ p, td { font-size: 11px; color: #000000; } /* This is the main table round all portal contents, use with .bodyline */ .mx_main_table { } /* This is the outline table round the overall page header */ .mx_header_table { background-color: #FFFFFF; border: 2px solid #006699; } /* This is the outline table round the columns/blocks, that is the table below the header */ .mx_body_table { } /* This is the outer outline table round the blocks */ .mx_graphborder { } /* These are the main mx column styles */ td.leftcol { } td.middlecol { } td.rightcol { } /* This is the style used for the top page title. */ .pagetitle { font-weight: bold; font-size: 30px; font-family: "Comic Sans MS", Verdana, Arial, Helvetica, sans-serif; text-decoration: none; line-height : 120%; color : #000066; font-variant: small-caps; text-transform: capitalize; letter-spacing: 5px; vertical-align: 20%; } /* This is the style used for the top site title. */ .sitetitle { font-family: Arial; font-variant: small-caps; font-weight: bolder; font-size: 12pt; color: #000066; } /* This is the style used for the top site description. */ .sitetitle_desc { color: #006699; font-size: 9px; } /* Customized hr below site title */ hr.h... [truncated message content] |
|
From: Jon O. <jon...@us...> - 2007-09-09 16:50:53
|
Update of /cvsroot/mxbb/core/templates/_core In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv10026/_core Added Files: bbcode.tpl index.htm jumpbox.tpl login_body.tpl message_body.tpl mx_main_layout.tpl overall_footer.tpl overall_header.tpl overall_header_navigation.tpl overall_header_navigation_phpbb.tpl overall_noheader.tpl Log Message: Ok, massive update for 2.9.x. --- NEW FILE: mx_main_layout.tpl --- <table border="0" cellspacing="10" cellpadding="0" width="100%" class="mx_body_table"> <tr valign="top"> <!-- BEGIN layout_column --> <td class="{layout_column.COL_CLASS}" width="{layout_column.BLOCK_SIZE}"> <!-- BEGIN blocks --> <!-- BEGIN sub_start --> <table border="0" cellpadding="0" cellspacing="0" width="{layout_column.BLOCK_SIZE}"> <tr valign="top"> <!-- END sub_start --> <!-- BEGIN sub_col --> {layout_column.blocks.sub_col.INNER_SPACE} <td class="{layout_column.blocks.sub_col.COL_CLASS}" width="{layout_column.blocks.sub_col.BLOCK_SIZE}"> <!-- END sub_col --> <table width="{layout_column.BLOCK_SIZE}" cellpadding="0" cellspacing="0" border="0" class="mx_graphborder"> <tr> <td> <!-- BEGIN graph_border --> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}1-1.gif" width="5" height="5" alt="" /> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}1-2.gif" width="100%"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}1-3.gif" width="5" height="5" alt="" /> </td> </tr> <tr> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}2-1.gif" width="5"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}2-2.gif" width="100%" align="center"> <!-- END graph_border --> <!-- BEGIN block_header --> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="forumline" style="border-bottom:none; padding:1px 1px 0px 1px;"> <tr> <td> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <!-- END block_header --> <!-- BEGIN show_title --> <th class="thCornerL" align="left" width="100%"> {layout_column.blocks.show_title.L_TITLE} </th> <!-- END show_title --> <!-- BEGIN edit --> <th class="thTop" align="right" width="1"> <div class="editCP_switch" style="display: {layout_column.blocks.edit.EDITCP_SHOW};"> <form action="{layout_column.blocks.edit.EDIT_ACTION}" method="post" class="mx_editform"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <!-- BEGIN hidden_block --> <td align="right"> <span class="gensmall"><i>{layout_column.blocks.edit.hidden_block.HIDDEN_BLOCK}</i></span> </td> <!-- END hidden_block --> <td align="right"> {layout_column.blocks.edit.EDIT_IMG} {layout_column.blocks.edit.S_HIDDEN_FORM_FIELDS} </td> </tr> </table> </form> </div> </th> <!-- END edit --> <!-- BEGIN show_title --> <th class="thCornerR" align="right" width="1"> </th> <!-- END show_title --> <!-- BEGIN block_header --> </tr> </table> </td> </tr> </table> <!-- END block_header --> <div id="block_{layout_column.blocks.BLOCK_ID}"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td> {layout_column.blocks.BLOCK} </td> </tr> </table> </div> <!-- BEGIN graph_border --> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}2-3.gif" width="5"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> </tr> <tr> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}3-1.gif" width="5" height="5" alt="" /> </td> <td background="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}3-2.gif" width="100%"> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/spacer.gif" width="5" height="5" alt="" /> </td> <td> <img src="{layout_column.blocks.graph_border.TEMPLATE_ROOT_PATH}images/{layout_column.blocks.graph_border.PREFIX}3-3.gif" width="5" height="5" alt="" /> </td> </tr> </table> <!-- END graph_border --> </td> </tr> </table> <!-- BEGIN block_stats --> <div align="right"><span class="copyright">{layout_column.blocks.block_stats.L_BLOCK_UPDATED}{layout_column.blocks.block_stats.EDITOR_NAME} ({layout_column.blocks.block_stats.EDIT_TIME})</span></div> <br clear="all" /> <!-- END block_stats --> <!-- BEGIN no_stats --> <br clear="all" /> <!-- END no_stats --> <!-- BEGIN sub_col --> </td> <!-- END sub_col --> <!-- BEGIN sub_end --> </tr> </table> <!-- END sub_end --> <!-- END blocks --> </td> <!-- END layout_column --> </tr> </table> --- NEW FILE: index.htm --- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body bgcolor="#FFFFFF" text="#000000"> </body> </html> --- NEW FILE: login_body.tpl --- <table border="0" cellspacing="10" cellpadding="0" width="100%" class="mx_body_table"> <tr valign="top"> <td> <form action="{S_LOGIN_ACTION}" method="post" target="_top"> <table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" align="center"> <tr> <th height="25" class="thHead" nowrap="nowrap">{L_ENTER_PASSWORD}</th> </tr> <tr> <td class="row1"><table border="0" cellpadding="3" cellspacing="1" width="100%"> <tr> <td colspan="2" align="center"> </td> </tr> <tr> <td width="45%" align="right"><span class="gen">{L_USERNAME}:</span></td> <td> <input type="text" class="post" name="username" size="25" maxlength="40" value="{USERNAME}" /> </td> </tr> <tr> <td align="right"><span class="gen">{L_PASSWORD}:</span></td> <td> <input type="password" class="post" name="password" size="25" maxlength="32" /> </td> </tr> <!-- BEGIN switch_allow_autologin --> <tr align="center"> <td colspan="2"><span class="gen">{L_AUTO_LOGIN}: <input type="checkbox" name="autologin" /></span></td> </tr> <!-- END switch_allow_autologin --> <tr align="center"> <td colspan="2">{S_HIDDEN_FIELDS}<input type="submit" name="login" class="mainoption" value="{L_LOGIN}" /></td> </tr> <tr align="center"> <td colspan="2"><span class="gensmall"><a href="{U_SEND_PASSWORD}" class="gensmall">{L_SEND_PASSWORD}</a></span></td> </tr> </table></td> </tr> </table> </form> </td> </tr> </table> --- NEW FILE: overall_header.tpl --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="{S_CONTENT_DIRECTION}"> <head> <meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}"> <meta http-equiv="Content-Style-Type" content="text/css"> <!-- BEGIN switch_set_base --> <base href="{U_PORTAL_ROOT_PATH}" > <!-- END switch_set_base --> {META} {NAV_LINKS} <title>{SITENAME} :: {PAGE_TITLE}</title> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <link rel="stylesheet" href="{U_PHPBB_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_PHPBB_STYLESHEET}" type="text/css" > <!-- Then load mxBB template *.css definition for mx, located in the the portal template folder --> <link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_MXBB_STYLESHEET}" type="text/css" > <!-- Optionally, redefine some defintions for gecko browsers --> <!-- BEGIN switch_gecko --><link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_GECKO_STYLESHEET}" type="text/css" ><!-- END switch_gecko --> {MX_ADDITIONAL_CSS_FILES} {MX_ICON_CSS} <!-- BEGIN switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- if( {PRIVATE_MESSAGE_NEW_FLAG} ) { window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); } // --></script> <!-- END switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- function checkSearch() { if (document.search_block.search_engine.value == 'google') { window.open('http://www.google.com/search?q=' + document.search_block.search_keywords.value, '_google', ''); return false; } else if (document.search_block.search_engine.value == 'site') { window.open('{U_SEARCH_SITE}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'kb') { window.open('{U_SEARCH_KB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'pafiledb') { window.open('{U_SEARCH_PAFILEDB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else { return true; } } // --></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Common.js"></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Toggle.js"></script> {MX_ADDITIONAL_JS_FILES} {MX_ADDITIONAL_HEADER_TEXT} </head> <body bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}"> <a name="top"></a> <table width="100%" cellspacing="0" cellpadding="1" border="0" align="center" class="mx_main_table"> <tr> <td class="bodyline"> <table width="100%" cellspacing="0" cellpadding="2" border="0" class="mx_header_table"> <tr> <td class="row3" width="25%" align="left" valign="top"><a href="{U_INDEX}"><img src="{LOGO}" border="0" alt="{L_INDEX}" vspace="1"/></a></td> <td class="row3" width="50%" align="center" valign="middle">{PAGE_ICON}<span class="pagetitle">{PAGE_TITLE}</span></td> <td class="row3" width="25%" align="right" valign="top"><span class="sitetitle">{SITENAME}</span><br /><span class="sitetitle_desc">{SITE_DESCRIPTION}</span></td> </tr> <tr> <td class="cat" align="center" valign="middle" colspan="3"> <table cellspacing="1" cellpadding="1" border="0"> <tr> <td align="center" valign="middle" nowrap > <a href="{U_INDEX}" class="mainmenu"><img src="{NAV_IMAGES_HOME}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_INDEX}" class="mainmenu">{L_HOME}</a></span> </td> <td align="center" valign="middle" nowrap> <a href="{U_INDEX_FORUM}" class="mainmenu"><img src="{NAV_IMAGES_FORUM}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_INDEX_FORUM}" class="mainmenu">{L_FORUM}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_in --> <a href="{U_PROFILE}" class="mainmenu"><img src="{NAV_IMAGES_PROFILE}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_PROFILE}" class="mainmenu">{L_PROFILE}</a></span> <!-- END switch_user_logged_in --> </td> <td align="center" valign="middle" nowrap> <a href="{U_FAQ}" class="mainmenu"><img src="{NAV_IMAGES_FAQ}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_FAQ}" class="mainmenu">{L_FAQ}</a></span> </td> <!-- <td align="center" valign="middle" nowrap> <a href="{U_SEARCH}" class="mainmenu"><img src="{NAV_IMAGES_SEARCH}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_SEARCH}" class="mainmenu">{L_SEARCH}</a></span> </td> --> <td align="center" valign="middle" nowrap> <a href="{U_MEMBERLIST}" class="mainmenu"><img src="{NAV_IMAGES_MEMBERS}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_MEMBERLIST}" class="mainmenu">{L_MEMBERLIST}</a></span> </td> <td align="center" valign="middle" nowrap> <a href="{U_GROUP_CP}" class="mainmenu"><img src="{NAV_IMAGES_GROUPS}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_GROUP_CP}" class="mainmenu">{L_USERGROUPS}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_in --> <a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="{NAV_IMAGES_PRIVMSG}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_PRIVATEMSGS}" class="mainmenu">{L_PRIVATEMSGS}</a></span> <!-- END switch_user_logged_in --> </td> </tr> </table> </td> </tr> <!-- BEGIN switch_view --> <tr> <td align="left" valign="bottom" colspan="3" ><span class="gensmall">{CURRENT_TIME}</span></td> </tr> <tr> <td align="left" valign="bottom" colspan="3" ><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td> </tr> <!-- END switch_view --> </table> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="center" valign="middle" nowrap> <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="{NAV_IMAGES_LOGIN_LOGOUT}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_LOGIN_LOGOUT}" class="mainmenu">{L_LOGIN_LOGOUT}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_out --> <a href="{U_REGISTER}" class="mainmenu"><img src="{NAV_IMAGES_REGISTER}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_REGISTER}" class="mainmenu">{L_REGISTER}</a></span> <!-- END switch_user_logged_out --> </td> <td valign="top" align="right" width="100%" height="5" > <form name="search_block" method="post" action="{U_SEARCH}" onsubmit="return checkSearch()"> <a href="{U_SEARCH}" class="gen"><span class="gen">{L_SEARCH}</span></a>: <input class="post" type="text" name="search_keywords" size="15" value="...?" onfocus="if(this.value=='...?'){this.value='';}" onblur="if(this.value==''){this.value='...?';}"> <select class="post" name="search_engine"> {L_SEARCH_SITE} {L_SEARCH_FORUM} {L_SEARCH_KB} {L_SEARCH_PAFILEDB} {L_SEARCH_GOOGLE} </select> <input type="hidden" name="search_fields" value="all"> <input type="hidden" name="show_results" value="topics"> <input class="mainoption" type="submit" value="Search"> </form> </td> <td valign="top" align="left" width="5" height="5" > </td> </tr> </table> <!-- BEGIN phpbb_stats --> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="left" valign="top" ><span class="gensmall"> <!-- BEGIN switch_user_logged_in --> {LAST_VISIT_DATE}<br /> <!-- END switch_user_logged_in --> {CURRENT_TIME}<br /></span> </td> <td align="right" valign="top" > <!-- BEGIN switch_user_logged_in --> <a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br /> <!-- END switch_user_logged_in --> <a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a> </td> </tr> </table> <!-- END phpbb_stats --> --- NEW FILE: message_body.tpl --- <table border="0" cellspacing="10" cellpadding="0" width="100%" class="mx_body_table"> <tr valign="top"> <td> <table class="forumline" width="100%" cellspacing="1" cellpadding="4" border="0"> <tr> <th class="thHead" height="25"><b>{MESSAGE_TITLE}</b></th> </tr> <tr> <td class="row1"><table width="100%" cellspacing="0" cellpadding="1" border="0"> <tr> <td> </td> </tr> <tr> <td align="center"><span class="gen">{MESSAGE_TEXT}</span></td> </tr> <tr> <td> </td> </tr> </table></td> </tr> </table> </td> </tr> </table> <br clear="all" /> --- NEW FILE: jumpbox.tpl --- <form method="get" name="jumpbox" action="{S_JUMPBOX_ACTION}" onSubmit="if(document.jumpbox.f.value == -1){return false;}"><table cellspacing="0" cellpadding="0" border="0"> <tr> <td nowrap="nowrap"><span class="gensmall">{L_JUMP_TO}: {S_JUMPBOX_SELECT} <input type="submit" value="{L_GO}" class="liteoption" /></span></td> </tr> </table></form> --- NEW FILE: overall_noheader.tpl --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="{S_CONTENT_DIRECTION}"> <head> <meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}"> <meta http-equiv="Content-Style-Type" content="text/css"> {META} {NAV_LINKS} <title>{SITENAME} :: {PAGE_TITLE}</title> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <link rel="stylesheet" href="{U_PHPBB_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_PHPBB_STYLESHEET}" type="text/css" > <!-- Then load mxBB template *.css definition for mx, located in the the portal template folder --> <link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_MXBB_STYLESHEET}" type="text/css" > <!-- Optionally, redefine some defintions for gecko browsers --> <!-- BEGIN switch_gecko --><link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_GECKO_STYLESHEET}" type="text/css" ><!-- END switch_gecko --> <!-- BEGIN switch_enable_pm_popup --> <script language="Javascript" type="text/javascript"> <!-- if ( {PRIVATE_MESSAGE_NEW_FLAG} ) { window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');; } //--> </script> <!-- END switch_enable_pm_popup --> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Common.js"></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Toggle.js"></script> </head> <body bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}" /> <a name="top"></a> --- NEW FILE: overall_footer.tpl --- <div align="center"> <span class="copyright"> <!-- BEGIN editcp_exists --> <span class="genmed">{editcp_exists.ADMIN_OPTIONS}</span> <span class="newsbutton" onclick="mx_toggle_editCP(this, 'editCP_switch', '{editcp_exists.EDITCP_EXPAND_IMG}', '{editcp_exists.EDITCP_CONTRACT_IMG}');"><img src="{editcp_exists.EDITCP_DYNAMIC_IMG}" border="0" alt="" /></span><br /> <!-- END editcp_exists --> {ADMIN_LINK}<br /> <!-- We request you retain the full copyright notice below including the link to www.phpbb.com. This not only gives respect to the large amount of time given freely by the developers but also helps build interest, traffic and use of phpBB 2.0. If you cannot (for good reason) retain the full copyright we request you at least leave in place the Powered by phpBB line, with phpBB linked to www.phpbb.com. If you refuse to include even this then support on our forums may be affected. The phpBB Group : 2002 & mxBB Team : 2002 // --> {POWERED_BY} <a href="http://www.mxbb.net/" target="_mx-system" class="copyright">mxBB Portal</a> {MX_VERSION} © 2001-2007 & <a href="http://www.phpbb.com/" target="_phpbb" class="copyright">phpBB</a> {PHPBB_VERSION} © 2001, 2003 phpBB Group | <a href="{MXBB_EXTRA_URL}" target="_phpbb" class="copyright">{MXBB_EXTRA}</a> </div> </td> </tr> </table> <!-- This displays generation info at the bottom of the page --> {EXECUTION_STATS} {MX_ADDITIONAL_FOOTER_TEXT} </body> </html> --- NEW FILE: overall_header_navigation.tpl --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="{S_CONTENT_DIRECTION}"> <head> <meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}"> <meta http-equiv="Content-Style-Type" content="text/css"> <!-- BEGIN switch_set_base --> <base href="{U_PORTAL_ROOT_PATH}" > <!-- END switch_set_base --> {META} {NAV_LINKS} <title>{SITENAME} :: {PAGE_TITLE}</title> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <link rel="stylesheet" href="{U_PHPBB_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_PHPBB_STYLESHEET}" type="text/css" > <!-- Then load mxBB template *.css definition for mx, located in the the portal template folder --> <link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_MXBB_STYLESHEET}" type="text/css" > <!-- Optionally, redefine some defintions for gecko browsers --> <!-- BEGIN switch_gecko --><link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_GECKO_STYLESHEET}" type="text/css" ><!-- END switch_gecko --> {MX_ADDITIONAL_CSS_FILES} {MX_ICON_CSS} <!-- BEGIN switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- if( {PRIVATE_MESSAGE_NEW_FLAG} ) { window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); } // --></script> <!-- END switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- function checkSearch() { if (document.search_block.search_engine.value == 'google') { window.open('http://www.google.com/search?q=' + document.search_block.search_keywords.value, '_google', ''); return false; } else if (document.search_block.search_engine.value == 'site') { window.open('{U_SEARCH_SITE}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'kb') { window.open('{U_SEARCH_KB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'pafiledb') { window.open('{U_SEARCH_PAFILEDB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else { return true; } } // --></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Common.js"></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Toggle.js"></script> {MX_ADDITIONAL_JS_FILES} {MX_ADDITIONAL_HEADER_TEXT} </head> <body bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}"> <a name="top"></a> <table width="780" cellspacing="0" cellpadding="1" border="0" align="center" class="mx_main_table"> <tr> <td class="bodyline"> <table width="100%" cellspacing="0" cellpadding="2" border="0" class="mx_header_table"> <tr> <td class="row3" width="25%" align="left" valign="top"><a href="{U_INDEX}"><img src="{LOGO}" border="0" alt="{L_INDEX}" vspace="1"/></a></td> <td class="row3" width="50%" align="center" valign="middle">{PAGE_ICON}<span class="pagetitle">{PAGE_TITLE}</span></td> <td class="row3" width="25%" align="right" valign="top"><span class="sitetitle">{SITENAME}</span><br /><span class="sitetitle_desc">{SITE_DESCRIPTION}</span></td> </tr> <tr> <td class="row2" align="center" valign="middle" colspan="3"> {OVERALL_NAVIGATION} </td> </tr> <!-- BEGIN editcp --> <tr> <td class="row2" align="center" valign="middle" colspan="3"> <div class="editCP_switch" style="display: {editcp.EDITCP_SHOW};"> <form action="{editcp.EDIT_ACTION}" method="post" class="mx_editform"> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td align="right"> {editcp.EDIT_IMG} {editcp.S_HIDDEN_FORM_FIELDS} </td> </tr> </table> </form> </div> </td> </tr> <!-- END editcp --> <!-- BEGIN switch_view --> <tr> <td align="left" valign="bottom" colspan="3" ><span class="gensmall">{CURRENT_TIME}</span></td> </tr> <tr> <td align="left" valign="bottom" colspan="3" ><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td> </tr> <!-- END switch_view --> </table> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="center" valign="middle" nowrap> <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="{NAV_IMAGES_LOGIN_LOGOUT}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_LOGIN_LOGOUT}" class="mainmenu">{L_LOGIN_LOGOUT}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_out --> <a href="{U_REGISTER}" class="mainmenu"><img src="{NAV_IMAGES_REGISTER}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_REGISTER}" class="mainmenu">{L_REGISTER}</a></span> <!-- END switch_user_logged_out --> </td> <td valign="top" align="right" width="100%" height="5" > <form name="search_block" method="post" action="{U_SEARCH}" onsubmit="return checkSearch()"> <a href="{U_SEARCH}" class="gen"><span class="gen">{L_SEARCH}</span></a>: <input class="post" type="text" name="search_keywords" size="15" value="...?" onfocus="if(this.value=='...?'){this.value='';}" onblur="if(this.value==''){this.value='...?';}"> <select class="post" name="search_engine"> {L_SEARCH_SITE} {L_SEARCH_FORUM} {L_SEARCH_KB} {L_SEARCH_PAFILEDB} {L_SEARCH_GOOGLE} </select> <input type="hidden" name="search_fields" value="all"> <input type="hidden" name="show_results" value="topics"> <input class="mainoption" type="submit" value="Search"> </form> </td> <td valign="top" align="left" width="5" height="5" > </td> </tr> </table> <!-- BEGIN phpbb_stats --> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="left" valign="top" ><span class="gensmall"> <!-- BEGIN switch_user_logged_in --> {LAST_VISIT_DATE}<br /> <!-- END switch_user_logged_in --> {CURRENT_TIME}<br /></span> </td> <td align="right" valign="top" > <!-- BEGIN switch_user_logged_in --> <a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br /> <!-- END switch_user_logged_in --> <a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a> </td> </tr> </table> <!-- END phpbb_stats --> --- NEW FILE: overall_header_navigation_phpbb.tpl --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html dir="{S_CONTENT_DIRECTION}"> <head> <meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}"> <meta http-equiv="Content-Style-Type" content="text/css"> <!-- BEGIN switch_set_base --> <base href="{U_PORTAL_ROOT_PATH}" > <!-- END switch_set_base --> {META} {NAV_LINKS} <title>{SITENAME} :: {PAGE_TITLE}</title> <!-- First load standard template *.css definition, located in the the phpbb template folder --> <link rel="stylesheet" href="{U_PHPBB_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_PHPBB_STYLESHEET}" type="text/css" > <!-- Then load mxBB template *.css definition for mx, located in the the portal template folder --> <link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_MXBB_STYLESHEET}" type="text/css" > <!-- Optionally, redefine some defintions for gecko browsers --> <!-- BEGIN switch_gecko --><link rel="stylesheet" href="{U_PORTAL_ROOT_PATH}{TEMPLATE_ROOT_PATH}{T_GECKO_STYLESHEET}" type="text/css" ><!-- END switch_gecko --> {MX_ADDITIONAL_CSS_FILES} {MX_ICON_CSS} <!-- BEGIN switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- if( {PRIVATE_MESSAGE_NEW_FLAG} ) { window.open('{U_PRIVATEMSGS_POPUP}', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); } // --></script> <!-- END switch_enable_pm_popup --> <script language="javascript" type="text/javascript"><!-- function checkSearch() { if (document.search_block.search_engine.value == 'google') { window.open('http://www.google.com/search?q=' + document.search_block.search_keywords.value, '_google', ''); return false; } else if (document.search_block.search_engine.value == 'site') { window.open('{U_SEARCH_SITE}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'kb') { window.open('{U_SEARCH_KB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else if (document.search_block.search_engine.value == 'pafiledb') { window.open('{U_SEARCH_PAFILEDB}&search_keywords=' + document.search_block.search_keywords.value, '_self', ''); return false; } else { return true; } } // --></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Common.js"></script> <script language="javascript" type="text/javascript" src="{U_PORTAL_ROOT_PATH}modules/mx_shared/lib/Toggle.js"></script> {MX_ADDITIONAL_JS_FILES} {MX_ADDITIONAL_HEADER_TEXT} </head> <body bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}"> <a name="top"></a> <table width="850" cellspacing="0" cellpadding="1" border="0" align="center" class="mx_main_table"> <tr> <td class="bodyline" valign="top"> <table width="100%" cellspacing="0" cellpadding="2" border="0" class="mx_header_table"> <tr> <td class="row3" width="25%" align="left" valign="top"><a href="{U_INDEX}"><img src="{LOGO}" border="0" alt="{L_INDEX}" vspace="1"/></a></td> <td class="row3" width="50%" align="center" valign="middle">{PAGE_ICON}<span class="pagetitle">{PAGE_TITLE}</span></td> <td class="row3" width="25%" align="right" valign="top"><span class="sitetitle">{SITENAME}</span><br /><span class="sitetitle_desc">{SITE_DESCRIPTION}</span></td> </tr> <tr> <td class="row2" align="center" valign="middle" colspan="3"> {OVERALL_NAVIGATION} </td> </tr> <tr> <td class="cat" align="center" valign="middle" colspan="3"> <table cellspacing="1" cellpadding="1" border="0"> <tr> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_in --> <a href="{U_PROFILE}" class="mainmenu"><img src="{NAV_IMAGES_PROFILE}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_PROFILE}" class="mainmenu">{L_PROFILE}</a></span> <!-- END switch_user_logged_in --> </td> <td align="center" valign="middle" nowrap> <a href="{U_FAQ}" class="mainmenu"><img src="{NAV_IMAGES_FAQ}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_FAQ}" class="mainmenu">{L_FAQ}</a></span> </td> <td align="center" valign="middle" nowrap> <a href="{U_SEARCH}" class="mainmenu"><img src="{NAV_IMAGES_SEARCH}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_SEARCH}" class="mainmenu">{L_SEARCH}</a></span> </td> <td align="center" valign="middle" nowrap> <a href="{U_MEMBERLIST}" class="mainmenu"><img src="{NAV_IMAGES_MEMBERS}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_MEMBERLIST}" class="mainmenu">{L_MEMBERLIST}</a></span> </td> <td align="center" valign="middle" nowrap> <a href="{U_GROUP_CP}" class="mainmenu"><img src="{NAV_IMAGES_GROUPS}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_GROUP_CP}" class="mainmenu">{L_USERGROUPS}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_in --> <a href="{U_PRIVATEMSGS}" class="mainmenu"><img src="{NAV_IMAGES_PRIVMSG}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_PRIVATEMSGS}" class="mainmenu">{L_PRIVATEMSGS}</a></span> <!-- END switch_user_logged_in --> </td> </tr> </table> </td> </tr> <!-- BEGIN switch_view --> <tr> <td align="left" valign="bottom" colspan="3" ><span class="gensmall">{CURRENT_TIME}</span></td> </tr> <tr> <td align="left" valign="bottom" colspan="3" ><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td> </tr> <!-- END switch_view --> </table> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="center" valign="middle" nowrap> <a href="{U_LOGIN_LOGOUT}" class="mainmenu"><img src="{NAV_IMAGES_LOGIN_LOGOUT}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_LOGIN_LOGOUT}" class="mainmenu">{L_LOGIN_LOGOUT}</a></span> </td> <td align="center" valign="middle" nowrap> <!-- BEGIN switch_user_logged_out --> <a href="{U_REGISTER}" class="mainmenu"><img src="{NAV_IMAGES_REGISTER}" class="mx_icon" border="0" alt="" hspace="1" align="middle" /></a><span class="mainmenu"><a href="{U_REGISTER}" class="mainmenu">{L_REGISTER}</a></span> <!-- END switch_user_logged_out --> </td> <td valign="top" align="right" width="100%" height="5" > <!-- <form name="search_block" method="post" action="{U_SEARCH}" onsubmit="return checkSearch()"> <a href="{U_SEARCH}" class="gen"><span class="gen">{L_SEARCH}</span></a>: <input class="post" type="text" name="search_keywords" size="15" value="...?" onfocus="if(this.value=='...?'){this.value='';}" onblur="if(this.value==''){this.value='...?';}"> <select class="post" name="search_engine"> {L_SEARCH_SITE} {L_SEARCH_FORUM} {L_SEARCH_KB} {L_SEARCH_PAFILEDB} {L_SEARCH_GOOGLE} </select> <input type="hidden" name="search_fields" value="all"> <input type="hidden" name="show_results" value="topics"> <input class="mainoption" type="submit" value="Search"> </form> --> <a href="http://www.mx-system.com/page144" class="gen"><span class="gen"><b>[{L_SEARCH}]</b></span></a> </td> <td valign="top" align="left" width="5" height="5" > </td> </tr> </table> <!-- BEGIN phpbb_stats --> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <tr> <td align="left" valign="top" ><span class="gensmall"> <!-- BEGIN switch_user_logged_in --> {LAST_VISIT_DATE}<br /> <!-- END switch_user_logged_in --> {CURRENT_TIME}<br /></span> </td> <td align="right" valign="top" > <!-- BEGIN switch_user_logged_in --> <a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br /> <!-- END switch_user_logged_in --> <a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a> </td> </tr> </table> <!-- END phpbb_stats --> --- NEW FILE: bbcode.tpl --- <!-- BEGIN ulist_open --><ul><!-- END ulist_open --> <!-- BEGIN ulist_close --></ul><!-- END ulist_close --> <!-- BEGIN olist_open --><ol type="{LIST_TYPE}"><!-- END olist_open --> <!-- BEGIN olist_close --></ol><!-- END olist_close --> <!-- BEGIN listitem --><li><!-- END listitem --> <!-- BEGIN quote_username_open --></span> <table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"> <tr> <td><span class="genmed"><b>{USERNAME} {L_WROTE}:</b></span></td> </tr> <tr> <td class="quote"><!-- END quote_username_open --> <!-- BEGIN quote_open --></span> <table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"> <tr> <td><span class="genmed"><b>{L_QUOTE}:</b></span></td> </tr> <tr> <td class="quote"><!-- END quote_open --> <!-- BEGIN quote_close --></td> </tr> </table> <span class="postbody"><!-- END quote_close --> <!-- BEGIN code_open --></span> <table width="90%" cellspacing="1" cellpadding="3" border="0" align="center"> <tr> <td><span class="genmed"><b>{L_CODE}:</b></span></td> </tr> <tr> <td class="code"><!-- END code_open --> <!-- BEGIN code_close --></td> </tr> </table> <span class="postbody"><!-- END code_close --> <!-- BEGIN b_open --><span style="font-weight: bold"><!-- END b_open --> <!-- BEGIN b_close --></span><!-- END b_close --> <!-- BEGIN u_open --><span style="text-decoration: underline"><!-- END u_open --> <!-- BEGIN u_close --></span><!-- END u_close --> <!-- BEGIN i_open --><span style="font-style: italic"><!-- END i_open --> <!-- BEGIN i_close --></span><!-- END i_close --> <!-- BEGIN color_open --><span style="color: {COLOR}"><!-- END color_open --> <!-- BEGIN color_close --></span><!-- END color_close --> <!-- BEGIN size_open --><span style="font-size: {SIZE}px; line-height: normal"><!-- END size_open --> <!-- BEGIN size_close --></span><!-- END size_close --> <!-- BEGIN img --><img src="{URL}" border="0" /><!-- END img --> <!-- BEGIN url --><a href="{URL}" target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url --> <!-- BEGIN email --><a href="mailto:{EMAIL}">{EMAIL}</a><!-- END email --> |