2.0 Update Part 4

December 10, 2007, 12:45:36 AM Posted by Thantos on December 10, 2007, 12:45:36 AM in 2.0 Update Part 4 | 90 Comments
Well it has been a while (too long) since we've given you all an update on 2.0.

First I'd like to thank the charter members who have been providing some excellent feedback and really helping us flush out the bugs and polishing up the features.

Since the release of Beta 1 we have decided to make a change to how we do database queries.  The goal is to make the query function as injection proof as possible.  This will require rewriting not only the query function but all of the queries in SMF.  As you can imagine that is quite an undertaking.  Luckily Compuart is working on it and he thinks he can write a script to do most of the query conversions.  I unfortunately do not have a sample of the new query that I can show you at this time.  But it should remove the __FILE__, __LINE__ arguments at the end of each database query.

We've discussed a timetable and we settled on February for Beta 2.  This is for a few reasons:
1) We need time to internally test the database change and to implement it here so we can make sure there are no ill effects
2) We don't want to release it right before the MotM when a good portion of the team won't be as available to help out
3) We'd like to some to implement anything that might come up during the MotM.

Now like always:  no promises.  If we have to delay it we will.  The database changes have to be in and stable before we release Beta 2.  We feel it would be too late in the development cycle to make that change after that point.

We would like to do some quick turn around for RCs after Beta 2.  As such we are putting a feature freeze on 2.0.  But knowing us I'm sure small features will still be snuck in.  While we won't be looking to add new features to 2.0 we will of course be taking feedback on how to improve the features that are already in.

Take you all for your patience and I really hope you'll be satisfied with the wait once we actually do the release.

Comments


Ol' Wombat on December 10, 2007, 04:17:53 AM said
Yes, Feb is brilliant as Jan is lost to the Xmas aftermath :)


deTrezS6 on December 10, 2007, 04:56:02 PM said
Sounds great! May I ask, is beta 2 charter member only, or public? ;) If neither, no pressure, just wondering.

Oh, and keep up the good work.  It's been great just signing up as a charter member, must say, I'm digging the new* section (And can't wait to give SMF 2.0 a demo run!).

edit: * = cm only sections

shadow82x on December 10, 2007, 05:00:13 PM said
Great news for the SMF crew. Beta2 really seems like something.. When are you planning on upgrading the main site?

Will there be any change in performance with the query change?

metallica48423 on December 10, 2007, 05:07:07 PM said
too early to tell

Deaks on December 10, 2007, 06:15:15 PM said
Quote from: deTrezS6 on December 10, 2007, 04:56:02 PM
Sounds great! May I ask, is beta 2 charter member only, or public? ;) If neither, no pressure, just wondering.

Oh, and keep up the good work.  It's been great just signing up as a charter member, must say, I'm digging the new* section (And can't wait to give SMF 2.0 a demo run!).

edit: * = cm only sections

it will def be cm but as for public I dont think its been decided yet

heavyccasey on December 10, 2007, 11:57:37 PM said
Sounds good! I can't wait to try 2.0!

[Well, I have enough patience to not spend money on a charter membership ;)]

christicehurst on December 11, 2007, 05:31:57 AM said
With the feature freeze and the dataebase changes to BETA 2. Would it be the best time for Mod and Theme makers to start converting knowing there won't be any major changes to SMF 2?

Grudge on December 11, 2007, 05:37:18 AM said
After beta 2 changes should be minimised.

falguni1 on December 12, 2007, 08:35:47 AM said
feb is nice  :)

MPT. on December 13, 2007, 08:38:59 AM said
Nice..

nick09 on December 13, 2007, 04:41:32 PM said
wow.

i gotta say you guys update pretty fast. :P

Ben_S on December 13, 2007, 07:03:08 PM said
Can't wait for beta 2 I've got big plans for it, hopefully I'll be ready to upgrade within a few days of it becoming available :).

FaNtEcH on December 16, 2007, 09:27:31 AM said
Great!
I hope the public version comes sometime around end of March/start of April!

Good Luck!

MultiformeIngegno on December 16, 2007, 03:58:36 PM said
Really great!! :)

Thantos on December 21, 2007, 11:22:34 AM said
Hmmm seems like there is a ramp up in bug reporting and fixing :P

Grudge on December 21, 2007, 12:06:02 PM said
Developers: 1
Bug Reports: 0

Daniel15 on December 26, 2007, 01:48:22 AM said
QuoteAs you can imagine that is quite an undertaking.  Luckily Compuart is working on it and he thinks he can write a script to do most of the query conversions.  I unfortunately do not have a sample of the new query that I can show you at this time.  But it should remove the __FILE__, __LINE__ arguments at the end of each database query.
More changes? :P
Ah well, sounds good anyways :D

Papa on January 10, 2008, 02:00:20 AM said
I'm excited to see what all you have rolling out, where is the best place to submit ideas for things already in it?

metallica48423 on January 10, 2008, 02:32:32 AM said
Since youre a charter member, SMF 2.0 Support would be the best place.

just prefix [Feedback] or something to your post :)

perro88 on January 10, 2008, 02:11:17 PM said
The new version seems to bring a lot of changes, any idea if will be hard to upgrade a smf v1.1.4 with a lot(I really mean a lot :P) of mods installed?
On the server I'm using posting images(when the resize is active) ussually takes a long time to post(even with a new smf forum, server problem to get the image or something). This version might help with this problem?
thanks to all developers for the great job that has been made.

Grudge on January 10, 2008, 03:19:05 PM said
Well, the simple fact is not mods from 1.1 will work for 2.0 so you'll need to wait until the mods you need have been updated to work with 2.0 then simply install them. Basically, don't upgrade until the mods you really want have been rewritten.

Of course 2.0 adds lots of new features so it may well be that not all your old mods are required then.

perro88 on January 10, 2008, 03:25:38 PM said
Quote from: Grudge on January 10, 2008, 03:19:05 PM
Well, the simple fact is not mods from 1.1 will work for 2.0 so you'll need to wait until the mods you need have been updated to work with 2.0 then simply install them. Basically, don't upgrade until the mods you really want have been rewritten.

Of course 2.0 adds lots of new features so it may well be that not all your old mods are required then.
nice. the way it resizes images with [img] tag will be the same of v1.1?

Gary on January 10, 2008, 04:18:58 PM said
Yes, as far as I know, how that is performed has not changed, at least, in the browser. :P.

perro88 on January 10, 2008, 04:45:55 PM said
Quote from: Gazmanafc on January 10, 2008, 04:18:58 PM
Yes, as far as I know, how that is performed has not changed, at least, in the browser. :P.
ok, thanks for the fast(as usual) support :P

Chriss Cohn on January 12, 2008, 05:13:15 PM said
Im sorry if i ask in the wrong thread (i doubt it), but can somone answer me if there will be massive changes in the templates aswell?
Im asking because im writing currently a new complex theme based on 1.1.4 default-theme and i don't want to make the whole work for nothing, you know....

Regards, Christian

metallica48423 on January 12, 2008, 05:16:57 PM said
there will and already have been considerable changes

Chriss Cohn on January 12, 2008, 05:32:55 PM said
Quote from: BlackMage on January 12, 2008, 05:16:57 PM
there will and already have been considerable changes
Nice answer, but can you be maybe a bit more specific? "considerable" ?
Does this mean i have to rewrite large parts of it completely or what does that mean?
Is the old default-theme from 1.1.4 not running with 2.0 ?

Grudge on January 12, 2008, 05:42:58 PM said
The themes that ship in the 1.1 download still work with 2.0.
If you have a custom theme the upgrader will do it's best to update it to work with 2.0 but this process will not be perfect.

Custom themes will need to be updated to get all the new 2.0 features. For example, if your BoardIndex template is from 1.1 redirection boards wouldn't look right.

It shouldn't however be too much hastle - it depends on the complexity of your theme. If the theme is just an index.template.php and style.css then the changes are minimal.

Compuart on January 12, 2008, 05:43:29 PM said
Quote from: Bruce Ballslap on January 12, 2008, 05:13:15 PM
Im sorry if i ask in the wrong thread (i doubt it), but can somone answer me if there will be massive changes in the templates aswell?
Im asking because im writing currently a new complex theme based on 1.1.4 default-theme and i don't want to make the whole work for nothing, you know....
There will indeed be more changes to the template. These changes could roughly be summarized as follows:

  • more clever and intuitive usage of CSS
  • more reuse of templates (less repetition). For instance all lists will be standardized throughout SMF.
  • separation of the index template layer into an HTML-layer (the header part until and including the <body> tag) and the body-layer (header and footer contained within the <body>-tags). This is useful for containing SMF into an existing site template.
  • improvement of the menu interface for the admin panel and moderation center.
  • new templates for new features (like the moderation center).

Edit: two different devs, two different answers...just take your pick ;D

Chriss Cohn on January 12, 2008, 06:39:35 PM said
Thank you both for that statement  ;)
Best Regards and thanks for developing, Christian

metallica48423 on January 12, 2008, 08:36:48 PM said
sorry for the small reply -- was on my cell phone :P

SeanK on January 30, 2008, 07:21:47 PM said
Quote from: Grudge on January 10, 2008, 03:19:05 PM
Well, the simple fact is not mods from 1.1 will work for 2.0 so you'll need to wait until the mods you need have been updated to work with 2.0 then simply install them. Basically, don't upgrade until the mods you really want have been rewritten.

Of course 2.0 adds lots of new features so it may well be that not all your old mods are required then.

This might have been already talked about, but is there a list on features out for 2.0 ?

Gary on January 30, 2008, 07:25:08 PM said
So far, the only feature lists we have are the ones in the announcements.

Deaks on January 30, 2008, 08:56:02 PM said
Quote from: SeanK on January 30, 2008, 07:21:47 PM
This might have been already talked about, but is there a list on features out for 2.0 ?

Quote from: GrudgeListed below is a brief summary of some of the changes made in this release:
Improved permissions interface
Added support for multiple attachment folders
Added winning birthday emails from the SMF contest
Added option to prune logs automatically
Added means of viewing search/replace operations when installing a mod
Added interface to edit and add language files
Made custom profile fields searchable on the memberlist and other improvements
Added auto suggest control and used it on personal messages
Added flood control and CAPTCHA to search
Fixed repair boards to work with different database types
Added mass topic mover to the maintenance section, and changed the maintenance area templates.
Added admin and user logs
Added redirection boards
Added paid subscription feature - only currently supporting PayPal
Added search engine tracking
Made numerous improvements to the WYSIWYG editor
taken from: http://www.simplemachines.org/community/index.php?topic=217789.0

motumbo on February 05, 2008, 09:05:32 PM said
Quote from: Grudge on January 12, 2008, 05:42:58 PM
The themes that ship in the 1.1 download still work with 2.0.

That's not good.  Obviously, in the 2+ plus years since 1.1 RC3 hit the streets very little has changed with SMF's template system.   :-\

The real reason I am posting is because I am looking for an idea of when the public Beta of SMF 2 will be available.

For maximum efficiency and code reuse, I am trying to standardize the templating system I use across all of my sites.  The templates won't be the same, obviously, but the way the HTML output is generated will be.  A class will determine caching if appropriate, load the templates (which will be similar in style to Wordpress templates--maximum flexibility), then output the code or do any placeholder substitutions as necessary. 

This echoing out code in the templates themselves is highly inflexible.  It's much better to assign the HTML output to a variable then echo out that variable, or cache it, or substitute it into another template, etc.  Much more flexible, as you can see.   Right?  8)

So, I kind of need an idea of what is around the corner with respect to SMF2.  Right now, I'm thinking I'll have to get rid of the header and footer templates since they are going to be so similar to SMF 1.1.  But I will need to extract the keyword, description, title, and meta variables, etc, and then assign them to $GLOBALS to use them in my overall site template.  But I also have to be concerned about SMF's lack of separation of logic and presentation because I have no idea where a table row will be echoed out from.  As SMF 1.1.x is currently written, stuff comes out of pretty much anywhere.  Then we've got issues with duplicate code in different places, etc.

It would be absolutely terrific if I could find a way to assign the forum content minus the header and footer (just the board index, message view, post screen, etc.) to a variable using ob_start()/ob_get_clean() then substitute it into my overall site template using str_replace(). 

But I have no idea if I will be able to do that given SMF's penchant for using tables for layout and other peculiarities.  It sounds like SMF is still going to use tables, which means it will be a decade behind the current state of the art.  :(

I don't want to hear any stuff about how SMF's template system is 3/1000ths of a second faster than other templating systems.  I don't care about that.  What I do care about is the hours it takes to fit SMF into the overall look and theme of my website. 

Thank you very much.

Your friend,

Motumbo

Gary on February 05, 2008, 09:11:37 PM said
Quote from: motumbo on February 05, 2008, 09:05:32 PM
I don't want to hear any stuff about how SMF's template system is 3/1000ths of a second faster than other templating systems.  I don't care about that.  What I do care about is the hours it takes to fit SMF into the overall look and theme of my website.
Thats funny, it takes me, pretty much no more than ten minutes.  But thats only because of the way I set my main sites up. The template system, IMO is a piece of cake, and I favour it done this way.

Also, I had to remove the last paragraph of your post as it's in violation of the Charter Membership, if you want to use 2.0 before a public beta is released, you'll have to become one yourself.

karlbenson on February 05, 2008, 09:14:27 PM said
While SMF 2.0 isn't/wasn't feature locked, its pretty much pointless re-writing the templates since you then have to change them again.

Any mods/themes for 1.1.x are 95% not likely to work with 2.0 fully.

One of SMF's strengths is the customizability from php/html mix templates rather than only html with placeholders.

I'm for table-less layouts (thats table-less, not without-tables) [where tables are ONLY used for tabular data].

motumbo on February 05, 2008, 09:19:48 PM said
Quote from: Gazmanafc on February 05, 2008, 09:11:37 PM
Also, I had to remove the last paragraph of your post as it's in violation of the Charter Membership, if you want to use 2.0 before a public beta is released, you'll have to become one yourself.

Very well. 

motumbo on February 05, 2008, 09:22:35 PM said
Quote from: karlbenson on February 05, 2008, 09:14:27 PM
While SMF 2.0 isn't/wasn't feature locked, its pretty much pointless re-writing the templates since you then have to change them again.

Any mods/themes for 1.1.x are 95% not likely to work with 2.0 fully.

One of SMF's strengths is the customizability from php/html mix templates rather than only html with placeholders.

I'm for table-less layouts (thats tableless, not table-none) [where tables are ONLY used for tabular data].

OK.  Good, I got some info. You may be for tableless layouts (except for tabular data--something nobody argues with), but what is going to be in SMF 2.0?

Is SMF 2.0 template system pretty much going to be similar in design to 1.1.x?  That's what I need to know.

Gary on February 05, 2008, 09:30:27 PM said
Quote from: motumbo on February 05, 2008, 09:22:35 PM
OK.  Good, I got some info. You may be for tableless layouts (except for tabular data--something nobody argues with), but what is going to be in SMF 2.0?
We are planning for that kind of template in 2.0. I dont know when it'll be implemented, but last I heard it'd be Beta 3.

Quote from: motumbo on February 05, 2008, 09:22:35 PM
Is SMF 2.0 template system pretty much going to be similar in design to 1.1.x?  That's what I need to know.
You will still need to echo' stuff off as it is now if thats what you're asking.

motumbo on February 05, 2008, 09:56:58 PM said
Quote from: Gazmanafc on February 05, 2008, 09:30:27 PM
Quote from: motumbo on February 05, 2008, 09:22:35 PM
OK.  Good, I got some info. You may be for tableless layouts (except for tabular data--something nobody argues with), but what is going to be in SMF 2.0?
We are planning for that kind of template in 2.0. I dont know when it'll be implemented, but last I heard it'd be Beta 3.

I sure hope so!  :D

Quote from: Gazmanafc on February 05, 2008, 09:30:27 PM
Quote from: motumbo on February 05, 2008, 09:22:35 PM
Is SMF 2.0 template system pretty much going to be similar in design to 1.1.x?  That's what I need to know.
You will still need to echo' stuff off as it is now if thats what you're asking.


// The main sub template above the content.
function template_main_above()
{
global $context, $settings, $options, $scripturl, $txt, $modSettings;

// Show right to left and the character set for ease of translating.
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"', $context['right_to_left'] ? ' dir="rtl"' : '', '><head>
<meta http-equiv="Content-Type" content="text/html; charset=', $context['character_set'], '" />
<meta name="description" content="', $context['page_title'], '" />', empty($context['robot_no_index']) ? '' : '
<meta name="robots" content="noindex" />', '
<meta name="keywords" content="PHP, MySQL, bulletin, board, free, open, source, smf, simple, machines, forum" />
<script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/script.js?fin11"></script>
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var smf_theme_url = "', $settings['theme_url'], '";
var smf_images_url = "', $settings['images_url'], '";
var smf_scripturl = "', $scripturl, '";
var smf_iso_case_folding = ', $context['server']['iso_case_folding'] ? 'true' : 'false', ';
var smf_charset = "', $context['character_set'], '";
// ]]></script>
<title>', $context['page_title'], '</title>';

// The ?fin11 part of this link is just here to make sure browsers don't cache it wrongly.
echo '
<link rel="stylesheet" type="text/css" href="', $settings['theme_url'], '/style.css?fin11" />
<link rel="stylesheet" type="text/css" href="', $settings['default_theme_url'], '/print.css?fin11" media="print" />';

/* Internet Explorer 4/5 and Opera 6 just don't do font sizes properly. (they are big...)
Thus, in Internet Explorer 4, 5, and Opera 6 this will show fonts one size smaller than usual.
Note that this is affected by whether IE 6 is in standards compliance mode.. if not, it will also be big.
Standards compliance mode happens when you use xhtml... */
if ($context['browser']['needs_size_fix'])
echo '
<link rel="stylesheet" type="text/css" href="', $settings['default_theme_url'], '/fonts-compat.css" />';

// Show all the relative links, such as help, search, contents, and the like.
echo '
<link rel="help" href="', $scripturl, '?action=help" target="_blank" />
<link rel="search" href="' . $scripturl . '?action=search" />
<link rel="contents" href="', $scripturl, '" />';

// If RSS feeds are enabled, advertise the presence of one.
if (!empty($modSettings['xmlnews_enable']))
echo '
<link rel="alternate" type="application/rss+xml" title="', $context['forum_name'], ' - RSS" href="', $scripturl, '?type=rss;action=.xml" />';

// If we're viewing a topic, these should be the previous and next topics, respectively.
if (!empty($context['current_topic']))
echo '
<link rel="prev" href="', $scripturl, '?topic=', $context['current_topic'], '.0;prev_next=prev" />
<link rel="next" href="', $scripturl, '?topic=', $context['current_topic'], '.0;prev_next=next" />';

// If we're in a board, or a topic for that matter, the index will be the board's index.
if (!empty($context['current_board']))
echo '
<link rel="index" href="' . $scripturl . '?board=' . $context['current_board'] . '.0" />';

// We'll have to use the cookie to remember the header...
if ($context['user']['is_guest'])
$options['collapse_header'] = !empty($_COOKIE['upshrink']);

// Output any remaining HTML headers. (from mods, maybe?)
echo $context['html_headers'], '

<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var current_header = ', empty($options['collapse_header']) ? 'false' : 'true', ';

function shrinkHeader(mode)
{';

// Guests don't have theme options!!
if ($context['user']['is_guest'])
echo '
document.cookie = "upshrink=" + (mode ? 1 : 0);';
else
echo '
smf_setThemeOption("collapse_header", mode ? 1 : 0, null, "', $context['session_id'], '");';

echo '
document.getElementById("upshrink").src = smf_images_url + (mode ? "/upshrink2.gif" : "/upshrink.gif");

document.getElementById("upshrinkHeader").style.display = mode ? "none" : "";
document.getElementById("upshrinkHeader2").style.display = mode ? "none" : "";

current_header = mode;
}
// ]]></script>';

// the routine for the info center upshrink
echo '
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var current_header_ic = ', empty($options['collapse_header_ic']) ? 'false' : 'true', ';

function shrinkHeaderIC(mode)
{';

if ($context['user']['is_guest'])
echo '
document.cookie = "upshrinkIC=" + (mode ? 1 : 0);';
else
echo '
smf_setThemeOption("collapse_header_ic", mode ? 1 : 0, null, "', $context['session_id'], '");';

echo '
document.getElementById("upshrink_ic").src = smf_images_url + (mode ? "/expand.gif" : "/collapse.gif");

document.getElementById("upshrinkHeaderIC").style.display = mode ? "none" : "";

current_header_ic = mode;
}
// ]]></script>
</head>
<body>';

echo '
<div class="tborder" ', $context['browser']['needs_size_fix'] && !$context['browser']['is_ie6'] ? ' style="width: 100%;"' : '', '>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="catbg" height="32">';

if (empty($settings['header_logo_url']))
echo '
<span style="font-family: Verdana, sans-serif; font-size: 140%; ">', $context['forum_name'], '</span>';
else
echo '
<img src="', $settings['header_logo_url'], '" style="margin: 4px;" alt="', $context['forum_name'], '" />';

echo '
</td>
<td align="right" class="catbg">
<img src="', $settings['images_url'], '/smflogo.gif" style="margin: 2px;" alt="" />
</td>
</tr>
</table>';


// display user name
echo '
<table width="100%" cellpadding="0" cellspacing="0" border="0" >
<tr>';

if($context['user']['is_logged'])
echo '
<td class="titlebg2" height="32">
<span style="font-size: 130%;"> ', $txt['hello_member_ndt'], ' <b>', $context['user']['name'] , '</b></span>
</td>';

// display the time
echo '
<td class="titlebg2" height="32" align="right">
<span class="smalltext">' , $context['current_time'], '</span>';

// this is the upshrink button for the user info section
echo '
<a href="#" onclick="shrinkHeader(!current_header); return false;"><img id="upshrink" src="', $settings['images_url'], '/', empty($options['collapse_header']) ? 'upshrink.gif' : 'upshrink2.gif', '" alt="*" title="', $txt['upshrink_description'], '" align="bottom" style="margin: 0 1ex;" /></a>
</td>
</tr>
<tr id="upshrinkHeader"', empty($options['collapse_header']) ? '' : ' style="display: none;"', '>
<td valign="top" colspan="2">
<table width="100%" class="bordercolor" cellpadding="8" cellspacing="1" border="0" style="margin-top: 1px;">
<tr>';

if (!empty($context['user']['avatar']))
echo '
<td class="windowbg" valign="middle">', $context['user']['avatar']['image'], '</td>';

echo '
<td colspan="2" width="100%" valign="top" class="windowbg2"><span class="middletext">';

// If the user is logged in, display stuff like their name, new messages, etc.
if ($context['user']['is_logged'])
{
echo '
<a href="', $scripturl, '?action=unread">', $txt['unread_since_visit'], '</a> <br />
<a href="', $scripturl, '?action=unreadreplies">', $txt['show_unread_replies'], '</a><br />';

}
// Otherwise they're a guest - send them a lovely greeting...
else
echo $txt['welcome_guest'];

// Now, onto our second set of info, are they logged in again?
if ($context['user']['is_logged'])
{
// Is the forum in maintenance mode?
if ($context['in_maintenance'] && $context['user']['is_admin'])
echo '
<b>', $txt[616], '</b><br />';

// Are there any members waiting for approval?
if (!empty($context['unapproved_members']))
echo '
', $context['unapproved_members'] == 1 ? $txt['approve_thereis'] : $txt['approve_thereare'], ' <a href="', $scripturl, '?action=viewmembers;sa=browse;type=approve">', $context['unapproved_members'] == 1 ? $txt['approve_member'] : $context['unapproved_members'] . ' ' . $txt['approve_members'], '</a> ', $txt['approve_members_waiting'], '<br />';

// Show the total time logged in?
if (!empty($context['user']['total_time_logged_in']))
{
echo '
', $txt['totalTimeLogged1'];

// If days is just zero, don't bother to show it.
if ($context['user']['total_time_logged_in']['days'] > 0)
echo $context['user']['total_time_logged_in']['days'] . $txt['totalTimeLogged2'];

// Same with hours - only show it if it's above zero.
if ($context['user']['total_time_logged_in']['hours'] > 0)
echo $context['user']['total_time_logged_in']['hours'] . $txt['totalTimeLogged3'];

// But, let's always show minutes - Time wasted here: 0 minutes ;).
echo $context['user']['total_time_logged_in']['minutes'], $txt['totalTimeLogged4'], '<br />';
}
echo ' </span>';
}
// Otherwise they're a guest - this time ask them to either register or login - lazy bums...
else
{
echo ' </span>
<script language="JavaScript" type="text/javascript" src="', $settings['default_theme_url'], '/sha1.js"></script>

<form action="', $scripturl, '?action=login2" method="post" accept-charset="', $context['character_set'], '" class="middletext" style="margin: 3px 1ex 1px 0;"', empty($context['disable_login_hashing']) ? ' onsubmit="hashLoginPassword(this, \'' . $context['session_id'] . '\');"' : '', '>
<input type="text" name="user" size="10" /> <input type="password" name="passwrd" size="10" />
<select name="cookielength">
<option value="60">', $txt['smf53'], '</option>
<option value="1440">', $txt['smf47'], '</option>
<option value="10080">', $txt['smf48'], '</option>
<option value="43200">', $txt['smf49'], '</option>
<option value="-1" selected="selected">', $txt['smf50'], '</option>
</select>
<input type="submit" value="', $txt[34], '" /><br />
<span class="middletext">', $txt['smf52'], '</span>
<input type="hidden" name="hash_passwrd" value="" />
</form>';
}

echo '
</td>
</tr>
</table>
</td>
</tr>
</table>';

echo '
<table id="upshrinkHeader2"', empty($options['collapse_header']) ? '' : ' style="display: none;"', ' width="100%" cellpadding="4" cellspacing="0" border="0">
<tr>';

// Show a random news item? (or you could pick one from news_lines...)
if (!empty($settings['enable_news']))
echo '
<td width="90%" class="titlebg2">
<span class="smalltext"><b>', $txt[102], '</b>: ', $context['random_news_line'], '</span>
</td>';
echo '
<td class="titlebg2" align="right" nowrap="nowrap" valign="top">
<form action="', $scripturl, '?action=search2" method="post" accept-charset="', $context['character_set'], '" style="margin: 0;">
<a href="', $scripturl, '?action=search;advanced"><img src="'.$settings['images_url'].'/filter.gif" align="middle" style="margin: 0 1ex;" alt="" /></a>
<input type="text" name="search" value="" style="width: 190px;" />&nbsp;
<input type="submit" name="submit" value="', $txt[182], '" style="width: 11ex;" />
<input type="hidden" name="advanced" value="0" />';

// Search within current topic?
if (!empty($context['current_topic']))
echo '
<input type="hidden" name="topic" value="', $context['current_topic'], '" />';

// If we're on a certain board, limit it to this board ;).
elseif (!empty($context['current_board']))
echo '
<input type="hidden" name="brd[', $context['current_board'], ']" value="', $context['current_board'], '" />';

echo '
</form>
</td>
</tr>
</table>
</div>';


// Show the menu here, according to the menu sub template.
template_menu();


// The main content should go here.
echo '
<div id="bodyarea" style="padding: 1ex 0px 2ex 0px;">';
}


That ain't pretty code. 

SleePy on February 05, 2008, 10:11:23 PM said
How aint it pretty?
Proper idents where used so you know whether its part of another if or something. It is well commented so you know what section does what.
It is also split up so you can only edit what you need to.

Daniel15 on February 05, 2008, 10:18:10 PM said
QuoteHow aint it pretty?
For us PHP developers, it's nice :)
But a template designer will look at that and go "What's all this mean??" :P

Grudge on February 06, 2008, 03:22:08 AM said
The template system will not change in 2.0. Also I'd be interested in the evidence to back up the comment that it's quicker to assign HTML to a variable and then echo it out than to echo it out directly as everything I've read about these suggest that for both memory consumption and speed it's better to echo out directly (albeit via the output buffer).

The only thing changing HTML wise with SMF 2.0 will be a move towards semantic code that should mean theme authors will be able to change a large amount of the template using just the CSS. As I've said a million times I'd like to change the template system and have some well developed plans for it - but it's low priority for SMF at the moment - particularly as theme authors seem to be perfectly capable of creating some fantastic themes with the current system.

As for the code. The SMF code is extremely clear, consistant and well commented. Obviously everyone has their own preferences in terms of style I accept. I would accept that people not familiar with PHP may find it a bit daunting at first.

Ben_S on February 06, 2008, 03:28:43 PM said
Quote from: Daniel15 on February 05, 2008, 10:18:10 PM
QuoteHow aint it pretty?
For us PHP developers, it's nice :)
But a template designer will look at that and go "What's all this mean??" :P

Exactly the same as what happens with Smarty etc.

plexxity on February 07, 2008, 05:34:42 PM said
if there are any new features at all, i hope there is a Subscriptions feature! SMF is the only forum i know of that doesn't have a Subscriptions manager... for what i would do... its would be definitely worth it!

note: i know there is a mod for smf already, but its buggy, and doesnt work well for me.

shadow82x on February 07, 2008, 05:41:36 PM said
Quote from: plexxity on February 07, 2008, 05:34:42 PM
if there are any new features at all, i hope there is a Subscriptions feature! SMF is the only forum i know of that doesn't have a Subscriptions manager... for what i would do... its would be definitely worth it!

note: i know there is a mod for smf already, but its buggy, and doesnt work well for me.
You mean paid subscriptions? Its a feature already in SMF2.0 beta2. :)

http://www.simplemachines.org/community/index.php?topic=217789.0
Quote
  • Added paid subscription feature - only currently supporting PayPal

Gary on February 07, 2008, 05:59:40 PM said
Quote from: plexxity on February 07, 2008, 05:34:42 PM
if there are any new features at all, i hope there is a Subscriptions feature! SMF is the only forum i know of that doesn't have a Subscriptions manager... for what i would do... its would be definitely worth it!

Like shadow said. It does now. :P

plexxity on February 07, 2008, 07:14:36 PM said
omg.... release smf2 soon.... its been forever :(

Gary on February 07, 2008, 07:19:32 PM said
If you become a charter member, you can get access to the download.

That or you just wait until it's released. We don't set deadlines, and each time it's asked God kills a kitty. WONT SOMEONE PLEASE THINK OF THE KITTIES! :P

Ben_S on February 08, 2008, 04:58:41 AM said
Quote from: plexxity on February 07, 2008, 05:34:42 PM
if there are any new features at all, i hope there is a Subscriptions feature! SMF is the only forum i know of that doesn't have a Subscriptions manager... for what i would do... its would be definitely worth it!

I can't think of any other free forum software that has it ???

plexxity on February 08, 2008, 10:58:13 AM said
Not any other free ones, but all pay ones... and bassicaly SMF2 isnt free, you have to be a charter member, untill its out of beta... then you have to pay for all the good Mods for it.. like ShopMod etc...

it ends up costing the same for me.

Grudge on February 08, 2008, 11:06:57 AM said
You have to be a Charter Member until it's out of closed beta. We have a closed beta because it's easier to manage 200 beta testers then 20,000. Trust me, if beta 2 had gone to the public we'd be facing serious criticism for the quality of our betas. If we didn't have the Charter program betas would not come out any quicker - we'd just have more dedicated beta testers.

Obviously we're not responsible for "paid for" mods - we don't release any paid for items at all.

Fustrate on February 09, 2008, 01:01:57 PM said
and the Shop mod doesn't cost anything, last time I checked... I've only encountered one or two mods that require you to pay to use them. Most mod authors follow the same path as SM, which is to put out the best quality free software available.

shadow82x on February 09, 2008, 01:47:03 PM said
Theres an advanced shop mod and a free one as there is for for other mods.

Fustrate on February 09, 2008, 01:50:41 PM said
Ah, I've never noticed any features missing from the free one, so I guess I didn't look around for a bigger one ;) the Gallery is like that too, right? Though there are some features in the paid one that I wish were in the free one...

Daniel15 on February 10, 2008, 12:50:14 AM said
That's the Store mod by vbgamer45, not the Shop mod by me. None of my public mods are paid, nor will they ever be (that's a promise, you can quote me on that). ;)

Fustrate on February 10, 2008, 01:46:07 AM said
Ah yes, that's what I was thinking of. I have yours on my 1.1.4 forum, and I'm liking it how it is :) any plans to update it for 2.0 after beta3 or any of the release candidates?

Nordoelum on March 04, 2008, 07:15:34 PM said
When will we see 2.0 Update Part 5?

Birger :)

Gary on March 04, 2008, 07:53:23 PM said
Maybe there never will be one. ;)

norhe on March 04, 2008, 07:59:47 PM said
i want it out lol!

MPT. on March 05, 2008, 01:23:42 PM said
Quote from: MindTooth on March 04, 2008, 07:15:34 PM
When will we see 2.0 Update Part 5?

Birger :)
It's exciting..

metallica48423 on March 05, 2008, 02:49:33 PM said
why part 5? who said interger ordering was necessary :P

MPT. on March 05, 2008, 04:13:43 PM said
A public Beta version would be better than a part 5..

norhe on March 05, 2008, 04:30:31 PM said
yes it would...

shadow82x on March 05, 2008, 04:35:19 PM said
Or you guys can wait for SMF2 to become more bug free and stable. :)

lordtron on March 05, 2008, 04:38:52 PM said
Yeah the more bug free and stable version sounds better to me lol

shadow82x on March 05, 2008, 04:40:36 PM said
Quote from: lordtron on March 05, 2008, 04:38:52 PM
Yeah the more bug free and stable version sounds better to me lol
hehe...

Theres a reason why SMF releases it to charter members first. Not just that the devs wanna be mean but they also don't want mass herds of bug reporting and tons of fixing all at once. What a mess. ;)

lordtron on March 06, 2008, 05:38:03 AM said
Plus there is already enough support questions asked just for 1.1.4
Imagine how many support questions there would be if SMF released 2.0 to the public right now.



I might become a Charter Member sometime in the future. Just don't have the money for it at the moment.

MultiformeIngegno on March 09, 2008, 09:04:03 AM said
Mmhh... can't wait anymoooore!!!! :P
WE WANT NEWS! WE WANT NEWS! WE WANT NEWS! :D

Really, when are you going to release a public beta? O:)

Gary on March 09, 2008, 09:22:21 AM said
To quote Grudge, soon. :P

MultiformeIngegno on March 09, 2008, 09:25:33 AM said
Quote from: Gazmanafc on March 09, 2008, 09:22:21 AM
To quote Grudge, soon. :P
The tongue means that the release is very close? :D

Gary on March 09, 2008, 09:26:12 AM said
<spooky voice> Nobody knows! </spooky voice>

hehe.

norhe on March 09, 2008, 02:24:09 PM said
thank god i cant wait :)

shadow82x on March 09, 2008, 02:25:37 PM said
Many people will love SMF2. ;)

Gary on March 09, 2008, 02:26:13 PM said
And apparently, some already do. Even without using it. :P

norhe on March 09, 2008, 02:28:10 PM said
yep a lot cant wait... its so exciting!

shadow82x on March 09, 2008, 02:32:59 PM said
Quote from: Gazmanafc on March 09, 2008, 02:26:13 PM
And apparently, some already do. Even without using it. :P
hehe I know that feeling. Just reading all the features in the blog updates, ect. You feel as if you just have to use SMF2.

Quote from: norhe on March 09, 2008, 02:28:10 PM
yep a lot cant wait... its so exciting!
The one day you go to SMF and you see the announcement "SMF 2 public beta" you may have a heart attack. Like when I saw that in the charter member forum...

Gary on March 09, 2008, 02:36:31 PM said
Quote from: shadow82x on March 09, 2008, 02:32:59 PM
The one day you go to SMF and you see the announcement "SMF 2 public beta" you may have a heart attack. Like when I saw that in the charter member forum...

You should've seen what I had when 1.1 RC3 was released. :P

norhe on March 09, 2008, 02:41:44 PM said
yes i will have a heart attack!

Deaks on March 09, 2008, 03:56:06 PM said
lie down on your back and put your legs in the air ... wait thats for fainting ooo i member rest against that couch and put your legs in the air

norhe on March 09, 2008, 04:10:00 PM said
lmao?

Nordoelum on March 10, 2008, 01:20:04 AM said
If SMF2 is similar to this forum. I don't see that many things to jump high for.

Birger :)

Fustrate on March 10, 2008, 04:14:33 AM said
Having been using it for a couple of months now on my own site... I say it's all something to jump high for :D

Gary on March 10, 2008, 12:08:43 PM said
Quote from: MindTooth on March 10, 2008, 01:20:04 AM
If SMF2 is similar to this forum. I don't see that many things to jump high for.

You don't see many new things because you don't have access to them on this forum. But when you get to actually use 2.0 you will. :P

HecKel on March 14, 2008, 08:57:06 AM said
Quote from: MindTooth on March 10, 2008, 01:20:04 AM
If SMF2 is similar to this forum. I don't see that many things to jump high for.

Birger :)

I think this was already answered, SMF2.0 has some user side improvements, but almost of them are admin side..., so you can't see that much :P

lordtron on March 14, 2008, 08:29:33 PM said
I'd rather see a few improvements than no improvements at all.

weightman on March 15, 2008, 12:48:29 PM said
Will 2.0 come with a built-in, adjustable suckerfish drop-down main menu?

Thanks very much

tertunc on July 23, 2008, 05:38:13 AM said
What time is downloading?

Fustrate on July 23, 2008, 11:51:34 AM said
You can download the beta here: http://download.simplemachines.org/

The stable releases will come as soon as all of the remaining bugs in 2.0 are fixed.
Advertisement: