Simple Machines Community Forum

Simple Machines => SMF Developers' Blog => Topic started by: Thantos on December 10, 2007, 12:45:36 AM

Title: 2.0 Update Part 4
Post by: Thantos on December 10, 2007, 12:45:36 AM
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.
Title: Re: 2.0 Update Part 4
Post by: Ol' Wombat on December 10, 2007, 04:17:53 AM
Yes, Feb is brilliant as Jan is lost to the Xmas aftermath :)

Title: Re: 2.0 Update Part 4
Post by: 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
Title: Re: 2.0 Update Part 4
Post by: shadow82x on December 10, 2007, 05:00:13 PM
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?
Title: Re: 2.0 Update Part 4
Post by: metallica48423 on December 10, 2007, 05:07:07 PM
too early to tell
Title: Re: 2.0 Update Part 4
Post by: Deaks on December 10, 2007, 06:15:15 PM
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
Title: Re: 2.0 Update Part 4
Post by: heavyccasey on December 10, 2007, 11:57:37 PM
Sounds good! I can't wait to try 2.0!

[Well, I have enough patience to not spend money on a charter membership ;)]
Title: Re: 2.0 Update Part 4
Post by: christicehurst on December 11, 2007, 05:31:57 AM
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?
Title: Re: 2.0 Update Part 4
Post by: Grudge on December 11, 2007, 05:37:18 AM
After beta 2 changes should be minimised.
Title: Re: 2.0 Update Part 4
Post by: falguni1 on December 12, 2007, 08:35:47 AM
feb is nice  :)
Title: Re: 2.0 Update Part 4
Post by: MPT. on December 13, 2007, 08:38:59 AM
Nice..
Title: Re: 2.0 Update Part 4
Post by: nick09 on December 13, 2007, 04:41:32 PM
wow.

i gotta say you guys update pretty fast. :P
Title: Re: 2.0 Update Part 4
Post by: Ben_S on December 13, 2007, 07:03:08 PM
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 :).
Title: Re: 2.0 Update Part 4
Post by: FaNtEcH on December 16, 2007, 09:27:31 AM
Great!
I hope the public version comes sometime around end of March/start of April!

Good Luck!
Title: Re: 2.0 Update Part 4
Post by: MultiformeIngegno on December 16, 2007, 03:58:36 PM
Really great!! :)
Title: Re: 2.0 Update Part 4
Post by: Thantos on December 21, 2007, 11:22:34 AM
Hmmm seems like there is a ramp up in bug reporting and fixing :P
Title: Re: 2.0 Update Part 4
Post by: Grudge on December 21, 2007, 12:06:02 PM
Developers: 1
Bug Reports: 0
Title: Re: 2.0 Update Part 4
Post by: Daniel15 on December 26, 2007, 01:48:22 AM
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
Title: Re: 2.0 Update Part 4
Post by: Papa on January 10, 2008, 02:00:20 AM
I'm excited to see what all you have rolling out, where is the best place to submit ideas for things already in it?
Title: Re: 2.0 Update Part 4
Post by: metallica48423 on January 10, 2008, 02:32:32 AM
Since youre a charter member, SMF 2.0 Support (http://www.simplemachines.org/community/index.php?board=141.0) would be the best place.

just prefix [Feedback] or something to your post :)
Title: Re: 2.0 Update Part 4
Post by: perro88 on January 10, 2008, 02:11:17 PM
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.
Title: Re: 2.0 Update Part 4
Post by: 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.
Title: Re: 2.0 Update Part 4
Post by: perro88 on January 10, 2008, 03:25:38 PM
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?
Title: Re: 2.0 Update Part 4
Post by: Gary 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.
Title: Re: 2.0 Update Part 4
Post by: perro88 on January 10, 2008, 04:45:55 PM
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
Title: Re: 2.0 Update Part 4
Post by: Chriss Cohn 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....

Regards, Christian
Title: Re: 2.0 Update Part 4
Post by: metallica48423 on January 12, 2008, 05:16:57 PM
there will and already have been considerable changes
Title: Re: 2.0 Update Part 4
Post by: Chriss Cohn on January 12, 2008, 05:32:55 PM
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 ?
Title: Re: 2.0 Update Part 4
Post by: Grudge on January 12, 2008, 05:42:58 PM
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.
Title: Re: 2.0 Update Part 4
Post by: Compuart on January 12, 2008, 05:43:29 PM
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:

Edit: two different devs, two different answers...just take your pick ;D
Title: Re: 2.0 Update Part 4
Post by: Chriss Cohn on January 12, 2008, 06:39:35 PM
Thank you both for that statement  ;)
Best Regards and thanks for developing, Christian
Title: Re: 2.0 Update Part 4
Post by: metallica48423 on January 12, 2008, 08:36:48 PM
sorry for the small reply -- was on my cell phone :P
Title: Re: 2.0 Update Part 4
Post by: SeanK on January 30, 2008, 07:21:47 PM
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 ?
Title: Re: 2.0 Update Part 4
Post by: Gary on January 30, 2008, 07:25:08 PM
So far, the only feature lists we have are the ones in the announcements.
Title: Re: 2.0 Update Part 4
Post by: Deaks on January 30, 2008, 08:56:02 PM
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
Title: Re: 2.0 Update Part 4
Post by: motumbo on February 05, 2008, 09:05:32 PM
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
Title: Re: 2.0 Update Part 4
Post by: Gary on February 05, 2008, 09:11:37 PM
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.
Title: Re: 2.0 Update Part 4
Post by: 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 table-less, not without-tables) [where tables are ONLY used for tabular data].
Title: Re: 2.0 Update Part 4
Post by: motumbo on February 05, 2008, 09:19:48 PM
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. 
Title: Re: 2.0 Update Part 4
Post by: motumbo on February 05, 2008, 09:22:35 PM
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.
Title: Re: 2.0 Update Part 4
Post by: Gary 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.

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.
Title: Re: 2.0 Update Part 4
Post by: motumbo on February 05, 2008, 09:56:58 PM
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. 
Title: Re: 2.0 Update Part 4
Post by: SleePy on February 05, 2008, 10:11:23 PM
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.
Title: Re: 2.0 Update Part 4
Post by: 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
Title: Re: 2.0 Update Part 4
Post by: Grudge on February 06, 2008, 03:22:08 AM
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.
Title: Re: 2.0 Update Part 4
Post by: Ben_S on February 06, 2008, 03:28:43 PM
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.
Title: Re: 2.0 Update Part 4
Post by: 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.
Title: Re: 2.0 Update Part 4
Post by: shadow82x on February 07, 2008, 05:41:36 PM
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
Title: Re: 2.0 Update Part 4
Post by: Gary on February 07, 2008, 05:59:40 PM
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
Title: Re: 2.0 Update Part 4
Post by: plexxity on February 07, 2008, 07:14:36 PM
omg.... release smf2 soon.... its been forever :(
Title: Re: 2.0 Update Part 4
Post by: Gary on February 07, 2008, 07:19:32 PM
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
Title: Re: 2.0 Update Part 4
Post by: Ben_S on February 08, 2008, 04:58:41 AM
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 ???
Title: Re: 2.0 Update Part 4
Post by: plexxity on February 08, 2008, 10:58:13 AM
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.
Title: Re: 2.0 Update Part 4
Post by: Grudge on February 08, 2008, 11:06:57 AM
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.
Title: Re: 2.0 Update Part 4
Post by: Fustrate on February 09, 2008, 01:01:57 PM
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.
Title: Re: 2.0 Update Part 4
Post by: shadow82x on February 09, 2008, 01:47:03 PM
Theres an advanced shop mod and a free one as there is for for other mods.
Title: Re: 2.0 Update Part 4
Post by: Fustrate on February 09, 2008, 01:50:41 PM
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...
Title: Re: 2.0 Update Part 4
Post by: Daniel15 on February 10, 2008, 12:50:14 AM
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). ;)
Title: Re: 2.0 Update Part 4
Post by: Fustrate on February 10, 2008, 01:46:07 AM
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?
Title: Re: 2.0 Update Part 4
Post by: Nordoelum on March 04, 2008, 07:15:34 PM
When will we see 2.0 Update Part 5?

Birger :)
Title: Re: 2.0 Update Part 4
Post by: Gary on March 04, 2008, 07:53:23 PM
Maybe there never will be one. ;)
Title: Re: 2.0 Update Part 4
Post by: norhe on March 04, 2008, 07:59:47 PM
i want it out lol!
Title: Re: 2.0 Update Part 4
Post by: MPT. on March 05, 2008, 01:23:42 PM
Quote from: MindTooth on March 04, 2008, 07:15:34 PM
When will we see 2.0 Update Part 5?

Birger :)
It's exciting..
Title: Re: 2.0 Update Part 4
Post by: metallica48423 on March 05, 2008, 02:49:33 PM
why part 5? who said interger ordering was necessary :P
Title: Re: 2.0 Update Part 4
Post by: MPT. on March 05, 2008, 04:13:43 PM
A public Beta version would be better than a part 5..
Title: Re: 2.0 Update Part 4
Post by: norhe on March 05, 2008, 04:30:31 PM
yes it would...
Title: Re: 2.0 Update Part 4
Post by: shadow82x on March 05, 2008, 04:35:19 PM
Or you guys can wait for SMF2 to become more bug free and stable. :)
Title: Re: 2.0 Update Part 4
Post by: lordtron on March 05, 2008, 04:38:52 PM
Yeah the more bug free and stable version sounds better to me lol
Title: Re: 2.0 Update Part 4
Post by: shadow82x on March 05, 2008, 04:40:36 PM
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. ;)
Title: Re: 2.0 Update Part 4
Post by: lordtron on March 06, 2008, 05:38:03 AM
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.
Title: Re: 2.0 Update Part 4
Post by: MultiformeIngegno on March 09, 2008, 09:04:03 AM
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:)
Title: Re: 2.0 Update Part 4
Post by: Gary on March 09, 2008, 09:22:21 AM
To quote Grudge, soon (http://www.simplemachines.org/community/index.php?topic=227011.msg1459206#msg1459206). :P
Title: Re: 2.0 Update Part 4
Post by: MultiformeIngegno on March 09, 2008, 09:25:33 AM
Quote from: Gazmanafc on March 09, 2008, 09:22:21 AM
To quote Grudge, soon (http://www.simplemachines.org/community/index.php?topic=227011.msg1459206#msg1459206). :P
The tongue means that the release is very close? :D
Title: Re: 2.0 Update Part 4
Post by: Gary on March 09, 2008, 09:26:12 AM
<spooky voice> Nobody knows! </spooky voice>

hehe.
Title: Re: 2.0 Update Part 4
Post by: norhe on March 09, 2008, 02:24:09 PM
thank god i cant wait :)
Title: Re: 2.0 Update Part 4
Post by: shadow82x on March 09, 2008, 02:25:37 PM
Many people will love SMF2. ;)
Title: Re: 2.0 Update Part 4
Post by: Gary on March 09, 2008, 02:26:13 PM
And apparently, some already do. Even without using it. :P
Title: Re: 2.0 Update Part 4
Post by: norhe on March 09, 2008, 02:28:10 PM
yep a lot cant wait... its so exciting!
Title: Re: 2.0 Update Part 4
Post by: shadow82x on March 09, 2008, 02:32:59 PM
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...
Title: Re: 2.0 Update Part 4
Post by: Gary on March 09, 2008, 02:36:31 PM
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
Title: Re: 2.0 Update Part 4
Post by: norhe on March 09, 2008, 02:41:44 PM
yes i will have a heart attack!
Title: Re: 2.0 Update Part 4
Post by: Deaks on March 09, 2008, 03:56:06 PM
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
Title: Re: 2.0 Update Part 4
Post by: norhe on March 09, 2008, 04:10:00 PM
lmao?
Title: Re: 2.0 Update Part 4
Post by: Nordoelum 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 :)
Title: Re: 2.0 Update Part 4
Post by: Fustrate on March 10, 2008, 04:14:33 AM
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
Title: Re: 2.0 Update Part 4
Post by: Gary on March 10, 2008, 12:08:43 PM
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
Title: Re: 2.0 Update Part 4
Post by: HecKel on March 14, 2008, 08:57:06 AM
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
Title: Re: 2.0 Update Part 4
Post by: lordtron on March 14, 2008, 08:29:33 PM
I'd rather see a few improvements than no improvements at all.
Title: Re: 2.0 Update Part 4
Post by: weightman on March 15, 2008, 12:48:29 PM
Will 2.0 come with a built-in, adjustable suckerfish drop-down main menu?

Thanks very much
Title: Re: 2.0 Update Part 4
Post by: tertunc on July 23, 2008, 05:38:13 AM
What time is downloading?
Title: Re: 2.0 Update Part 4
Post by: Fustrate on July 23, 2008, 11:51:34 AM
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.