Latest user submitted tutorials for MyBB
MyBB Community Forums - User Submitted Tutorials
MyBB Community Forums - http://community.mybb.com Creating Notification Styled PM Notifications Posted on: 19 May 2012, 11:18 pm Following this tutorial you will get a sort of notification system for PMs. You have to refresh, but it's still a cool little feature to have imo.
So the first thing you're going to want to do is open up your header_welcomeblock_member template, then find:
Code:
{$lang->welcome_back}
And right after add:
Code:
<a href="{$mybb->settings['bburl']}/private.php" id="pm_notification">{$mybb->user['pms_unread']}</a>
Next, add this to the very bottom of the same template:
Code:
<script type="text/javascript">
jQuery.noConflict()
jQuery(function($) {
var pmcontents = jQuery("#pm_notification").text();
if(pmcontents == 0){
$("#pm_notification").hide();
} else { return false; };
});
</script>
Next, go into your ungrouped templates and find headerinclude. Add this to the very top:
Code:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
Now go into your global.css Advanced Editor view and add this to the very bottom:
Code:
#pm_notification {
display: inline-block;
background: url(images/notify_bg.png) top left repeat-x;
height: 18px;
line-height: 18px;
border-radius: 5px;
border: 1px solid #921515;
text-shadow: 0 -1px 0 #921515;
padding: 0 5px 0 5px;
}
a#pm_notification {
color: #FFF;
text-decoration: none;
}
And last but not least, upload the attached image to your root/images directory.
Then you should have something that looks like this when you have a private message:
And then disappears when you have none:
Edit: Creating Notification Styled PM Alerts*
xp
notify_bg.png (Size: 962 bytes / Downloads: 25)
How To Add a Shadow Around Your MyBB Forum Posted on: 19 May 2012, 9:13 pm This changes this to this.
Depending on your personal preference the first may look better but to some the shadow will look extremely better.
This is very simple.
Admin Control Panel > Templates & Styles > Themes > Choose Your Theme > Global.css > Choose from the list ".tdborder" > Paste the following code at the end of any text inside the box
Code:
-webkit-box-shadow: 0px 0px 5px #bbb;
-moz-box-shadow: 0px 0px 5px #bbb;
-ms-box-shadow: 0px 0px 5px #bbb;
-o-box-shadow: 0px 0px 5px #bbb;
box-shadow: 0px 0px 5px #bbb;
Note: The shadows can be edited if it's too dark or light. Demo of some tutorials Posted on: 19 May 2012, 6:23 pm Custom PHP Pages with ProPortal Sidebars Posted on: 16 May 2012, 1:17 pm NOTE: before you reply saying proportal has custom page support. i know it does but i wanted .php files with proper urls e.g forgottencoders.co.uk/p2map.php and not forgottencoders.co.uk/portalfilename.php?pages=p2map.
hi guys my first tutorial prob not the best but i asked for help and didnt get any so i decided to do it my way.
first create a new .php file and then add this content to it. (the content is a stripped version of the proportal portal.php)
PHP Code:
<?php define("IN_MYBB", 1); define("IN_PORTAL", 1); $change_dir = "./"; $templatelist = "pro_portal,pro_portal_left,pro_portal_page,pro_portal_right,pro_portal_block,pro_portal_announcement,calendar_mini,calendar_mini_weekrow,calendar_mini_weekrow_day,calendar_mini_weekdayheader, multipage, multipage_nextpage, multipage_page, multipage_page_current"; require_once $change_dir."/global.php"; require_once MYBB_ROOT."portal/inc/portal.class.php"; $proportal = new ProPortal; $lang->load("pro_portal"); $options = array( "order_by" => "id", "order_dir" => "ASC" ); $query = $db->simple_select("portal_settings", "*", "", $options); while($setting = $db->fetch_array($query)) { $setting['value'] = str_replace("\"", "\\\"", $setting['value']); $settings[$setting['name']] = $setting['value']; } $proportal->settings = &$settings; if($proportal->settings['portalcolumns'] == "left"){ $portaltemplate = "pro_portal_left"; } elseif($proportal->settings['portalcolumns'] == "right"){ $portaltemplate = "pro_portal_right"; } else{ $portaltemplate = "pro_portal"; }
if($proportal->settings['portalcolumns'] == "left" || $proportal->settings['portalcolumns'] == "both") { // Getting left blocks if ($fetch_blocks = $proportal->get_list("SELECT * FROM ".TABLE_PREFIX."portal_blocks WHERE zone='0' AND enabled='1' AND visible REGEXP '[[:<:]]".$mybb->user['usergroup']."[[:>:]]' ORDER BY position")) { foreach ($fetch_blocks as $result_blocks) { $title = $result_blocks['title']; $file = $result_blocks['file']; $content = $result_blocks['content']; // Collapse block thing $expdisplay = ''; $collapsed_name = "block_{$result_blocks['id']}_c"; if(isset($collapsed[$collapsed_name]) && $collapsed[$collapsed_name] == "display: show;") { $expcolimage = "collapse_collapsed.gif"; $expdisplay = "display: none;"; $expaltext = "[+]"; } else { $expcolimage = "collapse.gif"; $expaltext = "[-]"; } if($file != "0"){ if (file_exists(MYBB_ROOT."portal/blocks/block_$file.php")) { ob_start(); include_once(MYBB_ROOT."portal/blocks/block_$file.php"); $content .= ob_get_contents(); ob_end_clean(); } else { $content = $lang->block_file_missing; } } else { $content = $result_blocks['content']; } if($result_blocks['custom'] == "0"){ eval("\$leftblocks .= \"".$templates->get("pro_portal_block")."\";"); } else { $leftblocks .= "<div style=\"padding-bottom:".$proportal->settings['horizontalspace']."px;\">".$content."</div>"; } } } else { $title = $lang->left_block_none; $content = $lang->left_block_none_content; eval("\$leftblocks = \"".$templates->get("pro_portal_block")."\";"); } }
if($proportal->settings['portalcolumns'] == "right" || $proportal->settings['portalcolumns'] == "both") { // Getting right blocks if ($fetch_blocks = $proportal->get_list("SELECT * FROM ".TABLE_PREFIX."portal_blocks WHERE zone='2' AND enabled='1' AND visible REGEXP '[[:<:]]".$mybb->user['usergroup']."[[:>:]]' ORDER BY position")) { foreach ($fetch_blocks as $result_blocks) { $title = $result_blocks['title']; $file = $result_blocks['file']; $content = $result_blocks['content']; // Collapse block thing $expdisplay = ''; $collapsed_name = "block_{$result_blocks['id']}_c"; if(isset($collapsed[$collapsed_name]) && $collapsed[$collapsed_name] == "display: show;") { $expcolimage = "collapse_collapsed.gif"; $expdisplay = "display: none;"; $expaltext = "[+]"; } else { $expcolimage = "collapse.gif"; $expaltext = "[-]"; } if($file != "0"){ if (file_exists(MYBB_ROOT."portal/blocks/block_$file.php")) { ob_start(); include_once(MYBB_ROOT."portal/blocks/block_$file.php"); $content .= ob_get_contents(); ob_end_clean(); } else { $content = $lang->block_file_missing; } } else { $content = $result_blocks['content']; } if($result_blocks['custom'] == "0"){ eval("\$rightblocks .= \"".$templates->get("pro_portal_block")."\";"); } else { $rightblocks .= "<div style=\"padding-bottom:".$proportal->settings['horizontalspace']."px;\">".$content."</div>"; } } } else { $title = $lang->right_block_none; $content = $lang->right_block_none_content; eval("\$rightblocks = \"".$templates->get("pro_portal_block")."\";"); } }
// edit this bit below only $title = "PAGE HEADING"; //page title eval("\$content = \"".$templates->get("TEMPLATE_NAME")."\";"); //replace templatename with your template add_breadcrumb("Title here", "FILENAME.php"); //custom breadcrumb and the filename of this file. eval("\$centerblocks .= \"".$templates->get("pro_portal_page")."\";"); //gets proportal structure eval("\$page = \"".$templates->get($portaltemplate)."\";"); //same as above output_page($page); // end edit ?>
then edit this part of the code above changing the "PAGE HEADING", "Title Here", "FILENAME.php" and TEMPLATE_NAME
PHP Code:
// edit this bit below only $title = "PAGE HEADING"; //page title eval("\$content = \"".$templates->get("TEMPLATE_NAME")."\";"); //replace templatename with your template add_breadcrumb("Title here", "FILENAME.php"); //custom breadcrumb and the filename of this file. eval("\$centerblocks .= \"".$templates->get("pro_portal_page")."\";"); //gets proportal structure eval("\$page = \"".$templates->get($portaltemplate)."\";"); //same as above output_page($page); // end edit
finally create a new global template with the same name as in this line
PHP Code:
eval("\$content = \"".$templates->get("TEMPLATE_NAME")."\";"); //replace templatename with your template
add whatever you want on the page to the new created template.
ENJOY. REPEAT FOR EACH PHP PAGE AND CHANGE TEMPLATE AND FILENAME AND TITLE HERE FOR EACH.
IF YOU GUYS HAVE A BETTER WAY PLEASE TELL ME.
Proof/Link/Demo  - http://forgottencoders.co.uk/p2map.php
Screenshot of the template:
![[Image: AHl2U.png]](http://i.imgur.com/AHl2U.png)
screenshot of the page:
![[Image: CeOZA.png]](http://i.imgur.com/CeOZA.png) Xenforo Style Breadcrumbs: For Blank Theme Posted on: 13 May 2012, 3:06 pm tested using: IE, Opera, Firefox and Chrome
This is useful: Change Breadcrumbs to read "Home"
Screen:
Download this http://img689.imageshack.us/img689/8026/lightw.png and put in your images folder of mybb
in global.css of your blank theme
add:
Code:
.breadcrumb {
font-size: 11px;
background: rgb(240, 247, 252) url('images/lightw.png') repeat-x top;
border: 1px solid rgb(165, 202, 228);
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
overflow: hidden;
margin: 0;
padding: 0;
}
.breadcrumb .crust {
display: block;
float: left;
position: relative;
}
.breadcrumb .crust:first-child a.crumb {
padding-left: 10px;
-moz-border-radius-topleft:4px;
-moz-border-radius-bottomleft:4px;
-webkit-border-top-left-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
.breadcrumb .crust a.crumb, .breadcrumb .crust b.lastcrumb {
text-decoration: none;
background-color: rgb(240, 247, 252);
padding: 0 10px 0 18px;
border-bottom: 1px solid rgb(165, 202, 228);
margin-bottom: -1px;
outline: 0 none;
-moz-outline-style: 0 none;
display: block;
line-height: 24px;
_border-bottom: none;
color: rgb(23, 96, 147);
text-decoration: none;
}
.breadcrumb .crust b.lastcrumb {
background: transparent none;
font-weight: bold;
}
.breadcrumb .crust a.crumb, .breadcrumb .crust b.lastcrumb {
line-height: 24px;
}
.breadcrumb .crust .arrow {
border: 12px solid transparent;
border-right: 1px none black;
border-left-color: #a5cae4;
display: block;
position: absolute;
right: -12px;
top: 0px;
z-index: 50;
width: 0px;
height: 0px;
}
.breadcrumb .crust .arrow span {
border: 12px solid transparent;
border-right: 1px none black;
border-left-color: #f0f7fc;
display: block;
position: absolute;
left: -13px;
top: -12px;
z-index: 51;
white-space: nowrap;
overflow: hidden;
text-indent: 9999px;
width: 0px;
height: 0px;
}
.breadcrumb .refresh:hover {
background-position: 0px -16px;
}
.breadcrumb .crust:last-child a.crumb {
font-weight: bold;
}
.breadcrumb .crust:hover a.crumb {
background-color: #d7edfc;
text-decoration:none;
}
.breadcrumb .crust:hover .arrow span {
border-left-color: #d7edfc;
}
in ACP > Templates & Style > Templates > Your Theme > Navigation Templates > nav of your template replace:
Code:
<fieldset class="breadcrumb"><span class="crumbs">{$nav}{$activesep}
<span class="crust" itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb">
{$activebit}</span></span></fieldset>
in ACP > Templates & Style > Templates > Your Theme > Navigation Templates > nav_bit of your template replace:
Code:
<span class="crust" itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="{$navbit['url']}" class="crumb" rel="up" itemprop="url">
{$navbit['name']}
</a>
<span class="arrow">
<span>></span>
</span></span>{$sep}
in ACP > Templates & Style > Templates > Your Theme > Navigation Templates > nav_bit_active of your template replace:
Code:
<a href="{$navbit['url']}" class="crumb" rel="up" itemprop="url">
{$navbit['name']}
</a>
<span class="arrow">
<span>></span>
</span>
in ACP > Templates & Style > Templates > Your Theme > Navigation Templates > nav_sep of your template: blank
in ACP > Templates & Style > Templates > Your Theme > Navigation Templates > nav_sep_active of your template: blank
Bonus
if you want remove this
in ACP > Templates & Style > Templates > Your Theme > Navigation Templates > nav_bit of your template replace:
Code:
<span class="crust" itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="{$navbit['url']}" class="crumb" rel="up" itemprop="url">
{$navbit['name']}
</a>
<span class="arrow">
<span>></span>
</span></span>
Xenforo Style Breadcrumbs: For Black Theme Posted on: 13 May 2012, 2:12 pm tested using: IE, Opera, Firefox and Chrome
This is useful: Change Breadcrumbs to read "Home"
Screen:
Download this http://img571.imageshack.us/img571/4340/fracture.png and put in your images folder of mybb
in global.css of your black theme
add:
Code:
.breadcrumb {
font-size: 11px;
background: rgb(38, 38, 38) url(images/fracture.png) repeat-x 0 1px;
border: 1px solid rgb(62, 62, 62);
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
overflow: hidden;
margin: 0;
padding: 0;
}
.breadcrumb .crust {
display: block;
float: left;
position: relative;
}
.breadcrumb .crust:first-child a.crumb {
padding-left: 10px;
-moz-border-radius-topleft:4px;
-moz-border-radius-bottomleft:4px;
-webkit-border-top-left-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
}
.breadcrumb .crust a.crumb, .breadcrumb .crust b.lastcrumb {
text-decoration: none;
background-color: rgb(32, 32, 32);
padding: 0 10px 0 18px;
border-bottom: 1px solid rgb(62, 62, 62);
margin-bottom: -1px;
outline: 0 none;
-moz-outline-style: 0 none;
display: block;
line-height: 24px;
_border-bottom: none;
color: rgb(150, 150, 150);
text-decoration: none;
}
.breadcrumb .crust b.lastcrumb {
background: transparent none;
font-weight: bold;
}
.breadcrumb .crust a.crumb, .breadcrumb .crust b.lastcrumb {
line-height: 24px;
}
.breadcrumb .crust .arrow {
border: 12px solid transparent;
border-top-width: 13px;
border-right: 1px none black;
border-left-color: rgb(79, 79, 79);
display: block;
position: absolute;
right: -12px;
top: 0px;
z-index: 50;
width: 0px;
height: 0px;
}
.breadcrumb .crust .arrow span {
border: 12px solid transparent;
border-right: 1px none black;
border-left-color: rgb(32, 32, 32);
display: block;
position: absolute;
left: -13px;
top: -12px;
z-index: 51;
white-space: nowrap;
overflow: hidden;
text-indent: 9999px;
width: 0px;
height: 0px;
}
.breadcrumb .refresh:hover {
background-position: 0px -16px;
}
.breadcrumb .crust:last-child a.crumb {
font-weight: bold;
}
.breadcrumb .crust:hover a.crumb {
background-color: rgb(22, 22, 22);
color: #ffffff;
text-decoration:none;
}
.breadcrumb .crust:hover .arrow span {
border-left-color: rgb(22, 22, 22);
}
in nav of your template replace:
Code:
<fieldset class="breadcrumb"><span class="crumbs">{$nav}{$activesep}
<span class="crust" itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb">
{$activebit}</span></span></fieldset>
in nav_bit of your template replace:
Code:
<span class="crust" itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="{$navbit['url']}" class="crumb" rel="up" itemprop="url">
{$navbit['name']}
</a>
<span class="arrow">
<span>></span>
</span></span>{$sep}
in nav_bit_active of your template replace:
Code:
<a href="{$navbit['url']}" class="crumb" rel="up" itemprop="url">
{$navbit['name']}
</a>
<span class="arrow">
<span>></span>
</span>
in nav_sep of your template: blank
in nav_sep_active of your template: blank
Bonus
if you want remove this
in nav_bit of your template replace:
Code:
<span class="crust" itemscope="itemscope" itemtype="http://data-vocabulary.org/Breadcrumb">
<a href="{$navbit['url']}" class="crumb" rel="up" itemprop="url">
{$navbit['name']}
</a>
<span class="arrow">
<span>></span>
</span></span>
How to export a MyBB Theme Posted on: 10 May 2012, 4:55 pm First off, this is my first MyBB tutorial on the MyBB forums. Please leave feedback and thanks!
So, in this tutorial I will be showing you how to export a myBB theme if you don't know how.
This is mainly if you have created a custom theme and you want to share it/release it.
Steps
1. Go to Templates & Style > Options > Export Theme
2. You'll be presented with two questions, read them and decided appropriately.
3. Then, simply click export them and a pop up box will appear, save the theme (.xml) somewhere safe.
It's really that easy! But.. also remember to backup your theme's image folder via FTP. Simple Greeting Message to visitors Posted on: 10 May 2012, 1:24 am Please note that this tutorial assumes that you know a very small amount of JavaScript. It's targeted towards beginners, since more advanced JavaScript coders could probably whip this out in a minute.
This code is really simple - in the Header, if the user is visiting in the morning, a message saying "Good Morning!" will be shown, and if they are visiting in the afternoon/evening, a message saying "Good Afternoon!" will be displayed. This all refers to their timezone, not anything set by the board.
Okay. First you need to go to ACP>Templates and Style>Templates>Template Name>Header Templates>Header.
Now, you can add this script almost anywhere here, but as always, give thought to the style of your forum. I have an Apart style installed, and I have this message next to the "Search" button where it blends in nicely.
Now, add this code anywhere, but remember it will show up wherever you add it:
Code:
<script type="text/javascript"><!--
var d = new Date();
var time = d.getHours();
if (time > 12)
{
document.write("<b>Good Afternoon!</b>");
}
else
{
document.write("<b>Good Morning!</b>");
}
//-->
</script>
Now let's break that down:
Code:
<script type="text/javascript"> <--This code tells the browser that we're using JavaScript.
<!-- <--This code is a control, and I'll explain it at the bottom.
var d = new Date(); <--This code declares a variable. We say that whenever we refer to "d" in our code, replace it with the JavaScript code "new Date()" which is a date format.
var time = d.getHours(); <--Same as above.
if (time > 12) <--This code says "If the time is greater than 12..." and "12" is Midday/Noon.
{
document.write("<b>Good Afternoon!</b>"); <--This says "if the above is true, then say "Good Afternoon!" bolded".
}
else
{
document.write("<b>Good Morning!</b>"); <--This says "if the above is false, then say "Good Morning!" bolded".
}
//--> <--This is the end of our control. "//" is a JavaScript comment symbol. If the user has JavaScript enabled in their browser, the // comment will stop the comment defined at the top from being executed, so the code will work. If they have JavaScript disabled, the // comment is rendered plaintext, so the HTML comment can be executed, and nothing will be shown to them.
</script> <--This closes the code.
I hope this helps you.  To see it in action, visit my forum. The text is in the top, at the center. Reporting Posts Edit - Change to a Dropdown Box (Instead of a custom reason) Posted on: 7 May 2012, 1:23 pm Well, voice tut on how to change reporting a thread to a dropdown box:
http://www.youtube.com/watch?v=KXt2k-tJl...e=youtu.be
I'm not the creator, there was a thread here somewhere, where I just copied. Not sure where it is now though, I just put it into voice :3
Tags for searching  D
MyBB Reporting Posts Edit Change to Dropdown Box how mybb 1.6 1.8 free theme plugins tutorial change report link post reporting thread dropdown box custom reasons Mybb Redirect Link [Auto] Posted on: 25 April 2012, 11:23 pm Quote:Add To Footer Template
Code:
<script type="text/javascript" >
$$('div.post_body a').each(function(s){
link=s+'';
if(!link.include('yoursite.com') && !link.include('javascript') && !link.include('mybb.com') && !link.include('site1.com') && !link.include('site2.com')){
s.href="redirect.html?link="+encodeURIComponent(link);
s.target="_blank";
}
});
</script>
Quote:Create "redirect.html" on root directory
Code:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<style>
#panel{
width: 500px;
border: 1px solid;
border-color:#999999;
margin:50px auto;
padding: 8px;
font: 12px tahoma;
text-align:center;
background-color:#fcfbf7;
}
</style>
</head>
<body>
<script type="text/javascript">
var link=decodeURIComponent(location.search.substr(6));
second = 10; //Wait time in seconds
function AutoRedirect(){
document.getElementById('time').innerHTML=second;
if(second==0){
location.href=link;
}
second--;
}
</script>
<div id="panel">
<p>You clicked on a link that not belong to our site.
</p>
<script type="text/javascript">
document.write("<a href='"+link+"'>"+link+"</a>")
</script>
<p>Auto redirect in<span id="time"></span> second(s).</p>
</div>
<script type="text/javascript">
AutoRedirect(second);
setInterval("AutoRedirect(second)",1000);
</script>
</body>
</html>
Original credit: http://mods.mybb.com/view-resource/make-a-redirect-page
 I FROM INDONESIA - I CAN"T SPEAK ENGLISH  Adding a modal login box to MyBB using jQuery Posted on: 25 April 2012, 1:57 pm I’ve seen a few people wondering how to achieve this kind of thing so I thought I’d write a quick tutorial on how I personally create a modal style login box for use with MyBB. This guide does require jQuery as it’s my preferred JavaScript library and I’d rather not learn Prototype when we’re moving to JQuery in 1.8 anyway.
The first thing to do is to include jQuery in your theme. Some themes might already have it included. It’s easy enough to find out. Simply go to the template manager for your theme and modify the headerinclude template (ACP > Templates & Style > Templates > Your template Set > Ungrouped Templates > headerinclude). Have a look in this template and see if you notice any mention of jQuery. If not, add the following to the very bottom of the template:
PHP Code:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
This loads the (currently) latest version of jQuery from Google’s CDN. After this script, add the following code – it will operate the actual opening and closing of the modal box:
PHP Code:
<script type="text/javascript"> /** * Modal Boxes JS * * @author Euan T. <euan@euantor.com> * @version 1.0.0 */
jQuery.noConflict();
jQuery(document).ready(function($) { // Make the jQuery modal login redirect you back to the page you're currently on // $('#loginModal input[name="url"]').attr("value", window.location); // /Login redirect //
// Modal Boxes // $('a[name="modal"]').on('click', function(event) { event.preventDefault(); var target = $(this).attr('rel'); // Set up the shadowing var maskHeight = $(document).height(); var maskWidth = $(window).width(); $('#mask').css({'width': maskWidth, 'height': maskHeight}); $('#mask').fadeIn(1000); $('#mask').fadeTo("slow", 0.8); // Position the actual modal var winH = $(window).height(); var winW = $(window).width(); $(target).css('top', (winH / 2) - ($(target).height() / 2)); $(target).css('left', (winW / 2) - ($(target).width() / 2)); $(target).fadeIn(2000); }); $('.modalBox a[rel="closeModal"]').on('click', function(event) { event.preventDefault(); $('#mask, .modalBox').hide(); }); $('#mask').on('click', function () { $(this).hide(); $('.modalBox').hide(); }); // /Modal Boxes // }); </script>
Now that we have our JavaScript in place, it’s time to add the actual code for the modal login box. To do this, we need to alter the header_welcomeblock_guest template (ACP > Templates & Style > Templates > Your template Set > Header Templates > header_welcomeblock_guest).
At this point, it very much depends on the theme you’re using as to what you’ll need. Here’s a bare minimal example of what the template should look like though:
PHP Code:
<div id="mask"></div> Welcome guest! Please <a href="{$mybb->settings['bburl']}/member.php?action=login" name="modal" rel="#loginModal">{$lang->welcome_login}</a> or <a href="{$mybb->settings['bburl']}/member.php?action=register">{$lang->welcome_register}</a> <div id="loginModal" class="modalBox loginModalBox"> <div class="thead"> Login at {$mybb->settings['bbname']} </div> <div class="modalContent loginModalContent"> <form method="post" action="member.php"> <table border="0" width="100%"> <tr> <td> <label for="username">Username:</label> </td> <td> <input type="text" value="" style="width: 200px;" maxlength="30" size="25" name="username" class="textbox" /> </td> </tr> <tr> <td> <label for="password">Password:</label> </td> <td> <input type="password" value="" style="width: 200px;" size="25" name="password" class="textbox" /> </td> </tr> <tr> <td> <label class="smalltext" title="If ticked, your login details will be remembered on this computer, otherwise, you will be logged out as soon as you close your browser."><input type="checkbox" value="yes" checked="checked" name="remember" class="checkbox"> Remember?</label> </td> <td> <input type="submit" value="Login" name="submit" class="button" /> </td> </tr> </table> <input type="hidden" value="do_login" name="action" /> <input type="hidden" value="" name="url" /> </form> </div> </div>
As I said, that’s the bare minimal you’ll need in order for this to work at all. Finally, you’ll need to add the following to your theme’s global.css file:
PHP Code:
#mask { position: absolute; z-index: 9010; background-color: #000000; display: none; top: 0; left: 0; }
.modalBox { position: fixed; width: 440px; display: none; z-index: 9015; background: #ffffff; border: 1px solid #000000; -webkit-box-shadow: 0px 7px 10px 0px rgba(0,0,0,0.81); -moz-box-shadow: 0px 7px 10px 0px rgba(0,0,0,0.81); box-shadow: 0px 7px 10px 0px rgba(0,0,0,0.81); } .modalBox .thead { font-weight: bold; } .modalBox .modalContent { padding: 5px 10px; }
Here's a screenshot of this type of effect in action for anybody who may wish to preview it too:
login-modal-example.png (Size: 10.88 KB / Downloads: 265)
If you have any problems following this or getting it to work, feel free to post below and I'll see what I can do to help. [Tutorial] How to remove/disable RSS Feed on your forum? Posted on: 24 April 2012, 8:54 am Some of the steps preventing someone to steal content of your forum you can delete/disable RSS Feed on your forum. You can do it on this ways:
-Remove syndication.php file from your hosting. It's good but this can cause some errors maybe.
-Removing RSS Feed link from your footer:
ACP > Templates & Style > Templates > **expand template set** > Footer Templates > footer > find and remove:
PHP Code:
| <a href="{$mybb->settings['bburl']}/misc.php?action=syndication">{$lang->bottomlinks_syndication}</a>
-If you are using some theme which have RSS Feed link in header, it's same you have to find that line of code in header templates and delete it.
- Set the CHMOD settings on the syndication.php to 000.
If someone have some more usefull tips how to remove/disable RSS Feed on forum make me know and i will add it. Creating My First MyCode Posted on: 21 April 2012, 9:54 am I started working on this MyCode simply as a project to learn about regular expressions. Somewhere along the way it became about giving a little present to the folks on my forum.
This tutorial will show you how to create a new MyCode that allows the user to display scrolling marquees. I hope to write a second part to this tutorial to show you how to add a code button to the editor that displays a user interface for creating the marquee.
The marquee itself is not a very useful tag. Members of my forum enjoy it, but actually the HTML <marquee> tag doesn't enjoy a lot of official support from browsers. What I hoped to accomplish by breaking down this MyCode and the process for inserting a new code button in the editor with a popup window customized for the input of properties can help someone customize their forum or create their first MyCode.
Of course if you like the MyCode you are more than welcome to use it in your forum(s)
Getting started.
The first step is to create the MyCode. In this case I am basically just porting the HTML <marquee> tag to BB code.
HTML <marquee> tag properties: behavior, direction, width, height, scroll delay, scroll amount.
Ordering them in this way will allow the user to access the most important (or most-used) properties easier.
Breaking down the MyCode:
Title: Marquee
Description: Displays a scrolling marquee.
Regular Expression:
Code:
\[marquee=?(alternate|scroll|slide)?[,| ]?(left|right|up|down)?[,| ]?(\d\d\d?%?)?[x|,| ]?(\d\d\d?)?[,| ]?(\d\d?\d?)?[,| ]?(\d\d?)?\](.*?)\[/marquee]
Regular expressions can be a bit tricky. Nearly all the examples I've found use (.*?) for user input, but that is only appropriate in some situations. With regular expressions you can demand that information be provided using strict patterns or you can be lenient and allow users use several different kinds of separators, get numerical input in a range and even skip values altogether.
The ? operator is very useful in making flexible expressions for receiving user input. Let's break down the regular expression:
Quote:\[marquee=?(alternate|scroll|slide)?[,| ]?(left|right|up|down)?[,| ]?(\d\d\d?%?)?[x|,| ]?(\d\d\d?)?[,| ]?(\d\d?\d?)?[,| ]?(\d\d?)?\](.*?)\[/marquee]
This first part includes "\" the escape character. It is used to allow special characters to be used in regular expressions as string literals. Literals are characters that are expected to be received literally versus in the form of user input.
For example in a regular expression "marquee" would need to be matched character for character to be accepted, but (.*?) would have a special meaning and need to interpreted by the regex engine.
The [ (square bracket) has a special meaning so it must be escaped. Then we see the word 'marquee'. So at this point the expected user input has been both literal and required. If the tag does not begin with [marquee it will fail.
Quote:\[marquee=?(alternate|scroll|slide)?[,| ]?(left|right|up|down)?[,| ]?(\d\d\d?%?)?[x|,| ]?(\d\d\d?)?[,| ]?(\d\d?\d?)?[,| ]?(\d\d?)?\](.*?)\[/marquee]
The = does not have a special meaning so it is taken literally, but the trailing ? is a special character that makes the previous character's presence optional. So the user could enter the = after [marquee or not.
Quote:\[marquee=?(alternate|scroll|slide)?[,| ]?(left|right|up|down)?[,| ]?(\d\d\d?%?)?[x|,| ]?(\d\d\d?)?[,| ]?(\d\d?\d?)?[,| ]?(\d\d?)?\](.*?)\[/marquee]
Now to our first property. The round brackets () are used to group expressions. The strings 'alternate', 'scroll' and slide are to be taken literally, but the | symbols between them indicate a Boolean OR. So if the user enters [marquee= and then one of the mentioned behaviors then the regular expression will have succeeded so far.
Note: It is important that I mention that even in this short section of the regular expression we have presented many options. The expression uses the ? character to allow users to skip characters and even properties. For example the = is completely optional. So the user input would be received (and function properly) if the user had entered
Code:
[marqueealternate]Hi[/marquee]
and the marquee would display properly as a alternating marquee.
While this allows the user more freedom it can also make the syntax seem more complex; and it is worth mentioning that the resulting BB code has a tendency to be more sloppy-looking. In this case we will be making a UI that will produce a consistent BB code as output.
After (alternate|scroll|slide) we see the ? again. This makes this entire property optional. The logic behind the expression so far is as follows:
If the user would like to make a marquee with the default values in the behavior section (which would then default to scroll), but change the direction (or any other later properties) then the default name scroll can be completely skipped.
Again that leaves a lot of things open. If the user inputs
Code:
[marqueeright]Hi[/marquee]
Then the results will be a marquee that uses all the default values except it will scroll to the right.
Quote:\[marquee=?(alternate|scroll|slide)?[,| ]?(left|right|up|down)?[,| ]?(\d\d\d?%?)?[x|,| ]?(\d\d\d?)?[,| ]?(\d\d?\d?)?[,| ]?(\d\d?)?\](.*?)\[/marquee]
[,| ]?
You will see several of these bracketed expressions throughout the rest of the regular expression. I will explain them here and then they will be skipped for the duration of this post.
The brackets indicate a list of optional single characters to accept. This allows the user to separate the input with either a space or a comma. Between the width and height property I have included the charcter 'x' as it is commonly used for such properties. Again the question mark makes this entire expression optional, so if the user entered
Code:
[marqueealternateright]Hi[/marquee]
then it would output correctly.
Quote:\[marquee=?(alternate|scroll|slide)?[,| ]?(left|right|up|down)?[,| ]?(\d\d\d?%?)?[x|,| ]?(\d\d\d?)?[,| ]?(\d\d?\d?)?[,| ]?(\d\d?)?\](.*?)\[/marquee]
(\d\d\d?%?)?
The escape character \ is seen here again. Remember that it made a special character [ be taken literally before, but the letter 'd' is not a special character. So in this case instead of escaping the character to be taken literally, it actually gives the ordinary character a special meaning.
The \d is used to input one single numerical character. We want to allow users to input any number between 10-999 so we have made two of the digits required, but one optional: (\d\d\d?)
I also included the % sign as an optional literal. This makes the marquee behave correctly when users enter percentage values in the width property but not the height. \d\d\d?%?
Then we have another ? which makes this entire expression optional: (\d\d\d?%?)? This means if a user inputs
Code:
[marquee=10]Hi[/maruee]
then the code will function properly, but
Code:
[marquee=1]Hi[/marquee]
will fail in this section of the expression. This is the reason that this property is optional. If the user inputs a single digit, using it for the width would make the marquee unreadable and the content would overflow the box. In this way as you will see later, if a single digit is the only input, it will be passed to the scroll amount property. The default scroll amount is six so it is a viable value for that property.
Quote:\[marquee=?(alternate|scroll|slide)?[,| ]?(left|right|up|down)?[,| ]?(\d\d\d?%?)?[x|,| ]?(\d\d\d?)?[,| ]?(\d\d?\d?)?[,| ]?(\d\d?)?\](.*?)\[/marquee]
(\d\d\d?)?
The height is a simpler numerical input quite similar to the width expression. Its range is 10-999 and it is optional.
Quote:\[marquee=?(alternate|scroll|slide)?[,| ]?(left|right|up|down)?[,| ]?(\d\d\d?%?)?[x|,| ]?(\d\d\d?)?[,| ]?(\d\d?\d?)?[,| ]?(\d\d?)?\](.*?)\[/marquee]
(\d\d?\d?)?
The input for the scroll delay allows a wider range (0-999) because the default value of scroll delay is 85, but 0 is also a viable value.
Also note that allowing a single digit provides a bottom limit for the width property. Because all of the fields are optional, if the minimum value for the width property (two or three digits or 10-999) then the value is shuffled past the height field which rejects it. Then the scroll delay accepts the single digit as valid input and the MyCode doesn't break and everybody is happy.
Quote:\[marquee=?(alternate|scroll|slide)?[,| ]?(left|right|up|down)?[,| ]?(\d\d\d?%?)?[x|,| ]?(\d\d\d?)?[,| ]?(\d\d?\d?)?[,| ]?(\d\d?)?\](.*?)\[/marquee]
(\d\d?)?
The scroll amount property's input expression accepts a range of 0-99. It is optional.
Quote:\[marquee=?(alternate|scroll|slide)?[,| ]?(left|right|up|down)?[,| ]?(\d\d\d?%?)?[x|,| ]?(\d\d\d?)?[,| ]?(\d\d?\d?)?[,| ]?(\d\d?)?\](.*?)\[/marquee]
\](.*?)\[/marquee]
The escape character \ makes the closing square bracket ] be taken literally. Note that this is not optional. If the closing brackets are not used then the MyCode breaks.
Then we see the previously discussed (.*?) expression. Grouped in round brackets the dot . means any single character. The asterisk * following the dot means any number of the preceding character and the question mark ? makes the entire expression optional.
So for all intents and purposed (.*?) means 0 or more characters or anything or nothing. This is an appropriate way to gather anything between the marquee tags as user input.
Again the escape character \ escaping the openinging square bracket; the 'marquee' literal and the escaped closing square bracket. These are not optional.
Examining the replacement HTML:
Replacement:
Code:
<marquee style="border: solid;" behavior="$1" direction="$2" width="$3" height="$4" scrolldelay="$5" scrollamount="$6">$7</marquee>
You will no doubt notice the use of the dollar signs and numbers in the HTML. These represent the groups of expressions we specified in our regular expression. They work in order from left to right and if they are skipped by the user they retain their placeholder.
In closing.
I am not a MyBB expert. I have just begun to learn the wonderful world of web design and just want to pass on what I have learned while it is still fresh on my mind. If you see something that I could have done better, then by all means share it with me so that I might improve.
For more information on how the tag input is received:
How to use marquee tags for nerds(with a preamble)
To try out the marquee tag on a real forum, visit Rant Central my forum. Add a fun brain exerciser GAME to your MyBB - Tower Of Hanoi. Posted on: 20 April 2012, 6:30 am I saw this today and figured out it would be much cool for some those having gaming boards or even normal off-topic boards.
Description: The Tower of Hanoi (also referred to as the Tower of Brahma) was invented by the French mathematician Edouard Lucas in 1883. He was inspired by a legend that tells of a Hindu temple where the pyramid puzzle was used for the mental discipline of young priests. [ More about the legend here]
The objective of the game is to move a stack of disks from the left-most pole to the right-most in the least amount of moves, the catch being a smaller disk must always be stacked on top of a larger, and never the other way around. Depending on the number of disks, this can become very challenging. Interesting features of this script are:
- Powerful drag-and-drop interface.
- Completely script driven- no images used.
- Auto "solve game" ability.
This script works in IE5+, NS6+, and Mozilla 1.0.
Demo: http://www.dynamicdrive.com/dynamicindex...rhanoi.htm
Installation Instructions:
First, download the below attachment:
towerhanoi.html (Size: 14.75 KB / Downloads: 12)
Upload the above file to root of your server (preferred, so you can visit yourdomain.com/towerhanoi.html).
Next, if you wish, you can directly go to above URL where you uploaded the file and play the game or use an iframe to show it on any of your custom pages or any page of the site which supports HTML.
Say, you've uploaded towerhanoi to yourdomain.com/towerhanoi, then just use the below code on any page, even in help documents if you want (just like I did, of course, for testing and showing you all):
PHP Code:
<iframe src="towerhanoi.html" width="800px" height="800px" /></iframe>
And it should look something like:
Enjoy. Apllying NOINDEX and NOFOLLOW only once to HEAD (avoid Google harm your host) Posted on: 19 April 2012, 4:54 pm Just now I was reading this thread from "The Garfield" about generating external links with rel="nofollow", so this is a similar tweak to the same goals - better SEO/Pagerank/...
http://groups.google.com/a/googleproduct..._qq7xGilco
First reply Wrote:To remove a particular page from the search results, you should add the following to the <head> section of a page:
Code:
<meta name="robots" content ="noindex">
Using a nofollow attribute in the above tag will stop search engines following any links on that page to discover any other content on your site.
You cannot use the noindex value in a rel attribute on a link, it doesn't work like that.
---------------
From this, you can edit your templates this way:
Paste this code:
Code:
<meta name="robots" content ="noindex">
Before {$headerinclude} in the first template of:
Pages which we don't want to be indexed by google
- calendar
- edit post
- error
- member list
- new reply
- new thread
- print thread
- report
- show forum team
- statistics
- usercp
-----------------------------------------------------------------------
Paste this code:
Code:
<meta name="robots" content ="nofollow">
Before {$headerinclude} in the first template of:
Pages which we want to be indexed but not follow links posted there
- Showthread
'Forumdisplay' and 'Index' Templates are good enough to get all links indexed just like a wordpress blog homepage.
And of course, install one of the best wordpress plugins, Google Seo, with 'sitemap' enabled:
- http://community.mybb.com/thread-101262.htmlHow get a chatbox/shoutbox on every page on mybb. Posted on: 11 April 2012, 9:29 pm Not hard to do just go in to templates choose the theme ur using click exspand temp. And go to index click full edit find ur chat copy then delete it then push back go to header/footer and edit one of them. Past the chatbox at the bottom and save there u go. YaY (Tutorial) How to block ips from viewing your mybb forum via .htaccess Posted on: 10 April 2012, 1:43 am This is a nice little trick to if you want to block out people ips from your site 1 by 1 or not
I have seen many post asking how just and I wanted to share in detail/with pics how so their is no more confusion
Ok so step one
Open your ftp browser like filezilla or whatever you use
Ok now once you are logged in please look for the file called ".htaccess"
Once you find it
Put it like on your desktop
Now left click-open as-and use notepad
Ok so now on mine the first couple of lines look like this
Now look at the code I am about to put here as it is what you will be using also to block a persons ip
put it in the general same area
Here is the code here
Quote:order allow,deny
deny from Put ip here
allow from all
Now watch
Now see in the pics the dummy ip to show this tutorial and how it is working etcetera now watch
Now move the file back on the root of your site and overwrite the old one (ALWAYS KEEP A BACKUP OF THE OLD ONE)
Now once I upload that file and refresh the page I get this
Well I hope that this could help you because I have seen a few confused people
may make a plugin soon that can do it I am not sure
but for now updating the .htaccess is the most security and effective way to do it
hope it helped!!!
Also this was all just made and done by me pics taken and all of you where wondering!! Preventing spam on your MyBB Forum [ Guide ] Posted on: 7 April 2012, 10:27 am How to prevent spam on your MyBB Forum.
Hello guys. I know there may be more things written about this, but what I'm going to put here is written on my own experience, because I've had this problem recently and I couldn't find a solution.
For those who want to know why I writting this, is because I've been like a month with a spam problem that I couldn't solve using the online things that I read, and I even asked in this forum.
However, yesterday I mananaged to solve the whole matter with an stupid thing that MyBB brings itself. I'll try to be as clear and short as possible.
When you find out that bots are registering in your forum, act.
- Why ?
+ Because if you do not act, it will become a bigger problem, which happened to me.
- You gotta check that your server isn't filled with bots. Sometimes, host companies ( at least some of them that I saw ) are filled with bots. Maybe because of an attack they received or just because they let them pass.
Anyways, you can solve this problem yourself.
- How ?
First, you gotta configure your MyBB Forum with the default options that it brings.
Go to : Configuration [Tab] > Settings > General Configuration.
You gotta find the Captcha module, then select ReCaptcha since it's much harder than normal Captcha
If the default ReCaptcha gives you problems, use the plugin that you can find here :
http://mods.mybb.com/view/recaptcha
Personally, I had problems with the default one so that's why I tell you this.
===========================
After installing the plugin, lets get it to work :
We'll go to Settings > reCAPTCHA Settings
There you should see something like this :
It will ask you for a public key and a private key, something which is common on these plugins. We'll get it here :
https://www.google.com/recaptcha/admin/create
There you will sign-up and get both keys, and you have to place them there. Style and language can be configured in the same part aswell.
===========================
Now, go to Settings > User Registration and Profile Options.
If you're being 'invaded' by bots, then you should disable registrations since it will take down your bandwith and you'll have to delete more bots later.
The registration method should be set as Email Verification, you can change it to invitation ( plug-in ) or admin activation.
I do not recommend Instant Activation since that helps trolls and bots.
- Username length put it as you wish, but do not let names be quite long.
Require complex password : Set it to Yes, it will help since bots sometimes use weak passwords. Even that, your users will be more secure.
- Allow mails to be registered multiple times ? : No.
- Max Registrations per IP : 1 or 2, no more.
- Display a hidden CAPTCHA : YES.
For me, this was the final key to stop spambots. It seems to work quite good with them.
Leave the Hidden Captcha field as email3, most of them will fall there.
===========================
Security Questions.
Configuration > Security Questions
This is quite important also. For gods sake, try to be original with your questions. Sometimes, administrators leave the default answer of sets it as something like 1+1. Nowadays, bots are able to read those kind of things and they'll break through your question.
Ask something like, "What's Colon's white horse color?" - Then you set white as answer.
I mean, try to be original, do not use things like : Solve 1 + 1.
In SQ you can check whether people have failed the captcha, also the percentage.
You can download it here : http://mods.mybb.com/view/registration-s...y-question
===========================
Fassim forum Anti-Spam
Settings > Fassim Anti Spam
This plugin has a database with mails and IP Addresses. It will check if the users trying to register in your forum are legitimate or not, using known spambot lists.
After you install it, goto http://www.fassim.com/get-api-key/ to obtain your API Key.
Write your info and you'll recieve your API key in a short time, then paste it in the API Key box.
Set Check Emails?,Check IP addresses,Block Anonymous Proxy, Block Top Spamming ISPs, Block Top Spamming Domains to yes.
If you want to block countries you just gotta type them in the box where is says Block Country.
You can obtain country codes here :
http://www.fassim.com/country-codes/
===========================
Stopforumspam
You can get this plugin at http://mods.mybb.com/view/stopforumspam-com-for-mybb
After you install it, go to Settings > Stopforumspam(dot)com check.
There set everything to yes but "All criteria must be met to deny registration", which should be set to no.
===========================
If you have problems with an specific range of IP's or Mail Addresses you can solve this also.
Go to : Users and Groups > Banning.
There, select "Disallowed Mail Addresses tab".
For example, if users are registering using @spamiscool.com you can ban that domain. It's quite easy, you just have to do this.
*@spamiscool.com
Using this, no-one can register using @spamiscool.com
To ban an IP Range go to Banned IP's tab and there ban whatever you need. To ban a range just do
127.2. *. * ( Example )
===========================
The last thing, brought commonly by MyBB is Akismet.
You can find it in the plugins section. There activate it and go to Settings > Akismet.
Turn it on, then get your API Key at http://wordpress.com/api-keys/
This tool is used to ban users which are posting spam. It doesn't fail usually, so it's quite useful also.
Well, this is all that I've written in half an hour or so. I wrote this myself even knowing that there may be other tutorials out there but I just wrote it myself as I had this problem a day ago.
Banning countries from htaccess isn't a solution, since IP's are a-changing and bots come from every single place of the world.
I hope that this guide helped you :3
Sorry for my grammar failures.
Add new custom PHP page. Posted on: 4 April 2012, 5:57 am I didn't found some good ones floating around. So here is how I create them and here is how you can create them.
Its quite easy. Heres how you do.
First create, somepage.php file. Inside it, paste below code and save it:
PHP Code:
<?php
define('IN_MYBB', 1); require "./global.php";
add_breadcrumb("Title here", "somename.php");
eval("\$html = \"".$templates->get("template_name")."\";");
output_page($html);
?>
Next, Themes & templates > Templates > Global Templates > Add template.
Add below example template:
Code:
<html>
<head>
<title>Your title here</title>
{$headerinclude}
</head>
<body>
{$header}
<table border="0" cellspacing="1" cellpadding="4" class="tborder">
<tr>
<td class="thead"><span class="smalltext"><strong>Your title here.</strong></span></td>
</tr>
<tr>
<td class="trow1">
Add here your custom messages.
</td></tr></table>
{$footer}
</body>
</html>
And for title, give any title to it but make sure you enter same title name in the somename.php file where it is calling (evaluating eval) the template name. As in this example case, you should enter title as template_name since we entered and recalled same global template in somename.php file.
Save the global template and it should work fine now. How To Add A New Page Without Plugins Posted on: 1 April 2012, 9:05 am For this tutorial you need FTP access and small knowledge of HTML.
THIS WILL TAKE AROUND 10 MINUTES AND IS HARD TO REVERSE
1) Login into your FTP, go into the root folder of your forum and duplicate index.php
2) Rename your duplicated to anything, for now, we'll use example.
3) Go and edit your duplicated file (example.php) and scroll to the bottom and change the following code:
PHP Code:
eval("\$index = \"".$templates->get("faq")."\";");
to
PHP Code:
eval("\$index = \"".$templates->get("example")."\";");
You can change example to anything you want.
4) Login into ACP, now follow...
TEMPLATES & STYLES -> Your Theme (we'll be using Novus Dusk 2) -> global.css -> Advanced
5) Now, find .navigation and copy everything that begins with .navigation
6) Make your copyied .navigation to .navigation2
7) Go to Templates -> Your Theme -> Add New Template
8) Open another tab and go into ACP, templates, templates -> Index Templates -> index and copy everything in there.
9) Go to your previous tab, copy everything in there and it should look something like this (may look different depending on theme).
PHP Code:
<html> <head> <title>{$mybb->settings['bbname']} | Technology, Computers, Tablets Forum</title> {$headerinclude} <script type="text/javascript"> <!-- lang.no_new_posts = "{$lang->no_new_posts}"; lang.click_mark_read = "{$lang->click_mark_read}"; // --> </script> </head> <body> {$header} {$forums} {$boardstats}
<dl class="forum_legend smalltext"> <dt><img src="{$theme['imgdir']}/on.gif" alt="{$lang->new_posts}" title="{$lang->new_posts}" style="vertical-align: middle; padding-bottom: 4px;" /></dt> <dd>{$lang->new_posts}</dd>
<dt><img src="{$theme['imgdir']}/off.gif" alt="{$lang->no_new_posts}" title="{$lang->no_new_posts}" style="vertical-align: middle; padding-bottom: 4px;" /></dt> <dd>{$lang->no_new_posts}</dd>
<dt><img src="{$theme['imgdir']}/offlock.gif" alt="{$lang->forum_locked}" title="{$lang->forum_locked}" style="vertical-align: middle;" /></dt> <dd>{$lang->forum_locked}</dd> </dl> <br style="clear: both" /> {$footer} </body> </html>
Now change all of it too this..
PHP Code:
<html> <head> <style type="text/css"> .navigation { display: none; } </style> <title>Example | {$mybb->settings['bbname']}</title> {$headerinclude} <script type="text/javascript"> <!-- lang.no_new_posts = "{$lang->no_new_posts}"; lang.click_mark_read = "{$lang->click_mark_read}"; // --> </script> </head> <body> {$header} <div class="navigation2"> <a href="index.php">{$mybb->settings['bbname']}</a> / <a href="faq.php">Example</a>{$sep} </div> <h2>Example</h2> This is my example page
<br style="clear: both" /> {$footer} </body> </html>
9) Click Save
10) Vist you forum then type in /example.php and you'll see your page
|