Advertisement:

Author Topic: 2.0 Update Part 4  (Read 138470 times)

Online Gary

  • Lead Customizer
  • SMF Super Hero
  • *
  • Posts: 16,014
  • Gender: Male
  • So this is the luck of the draw...
    • garygadsdon on LinkedIn
    • @Gazmanafc on Twitter
    • The Bongo Comics Fan Forum
Re: 2.0 Update Part 4
« Reply #40 on: February 05, 2008, 09:30:27 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.

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.
Gary M. Gadsdon
Lead Customiser
Do NOT PM me unless I say so
Look here are three little dreamers,
ready to impress everyone
Listen up, cos it's not over
Our time has just begun!

The War of the Simpsons
Bongo Comics Fan Forum
Youtube Let's Plays
^ Current Game: Final Fantasy XIII-2 & Final Fantasy X HD

Offline motumbo

  • Full Member
  • ***
  • Posts: 611
  • Just say 'no' to spaghetti code!
Re: 2.0 Update Part 4
« Reply #41 on: February 05, 2008, 09:56:58 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

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.

Code: [Select]
// 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. 

Offline SleePy

  • Site Team
  • SMF Master
  • *
  • Posts: 28,941
  • Gender: Male
  • Thats his happy face.
    • @jdarwood on Twitter
    • SleePy Code - My personal site
Re: 2.0 Update Part 4
« Reply #42 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.
Jeremy D — Site Team / SMF Developer
Support the SMF Support team!
Profiles:
GitHub
G+

Offline Daniel15

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 4,216
  • Gender: Male
  • http://dan.cx/
    • daaniel on Facebook
    • daniel15 on LinkedIn
    • @Daniel15 on Twitter
    • Daniel15
Re: 2.0 Update Part 4
« Reply #43 on: February 05, 2008, 10:18:10 PM »
Quote
How 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
Daniel15, former Customisation team member, resigned due to lack of time. I still love everyone here :D.
Go to smfshop.com for SMFshop support, do NOT email or PM me!

Offline Grudge

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 10,743
  • Gender: Male
  • Unofficial nuisance
Re: 2.0 Update Part 4
« Reply #44 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.
I'm only a half geek really...

Offline Ben_S

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 11,678
  • xxx
Re: 2.0 Update Part 4
« Reply #45 on: February 06, 2008, 03:28:43 PM »
Quote
How 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.
Liverpool FC Forum with 9 million+ posts.

Offline plexxity

  • Semi-Newbie
  • *
  • Posts: 15
Re: 2.0 Update Part 4
« Reply #46 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.

Online mcblaber

  • Support Specialist
  • SMF Super Hero
  • *
  • Posts: 11,186
  • Gender: Male
    • mcblaber on LinkedIn
    • @mcblaber on Twitter
    • AvatarPrime
Re: 2.0 Update Part 4
« Reply #47 on: February 07, 2008, 05:41:36 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
M. Colin Blaber
Formally known as shadow82x
SMF Support Specialist

SMF2.1 Alpha Playground

Online Gary

  • Lead Customizer
  • SMF Super Hero
  • *
  • Posts: 16,014
  • Gender: Male
  • So this is the luck of the draw...
    • garygadsdon on LinkedIn
    • @Gazmanafc on Twitter
    • The Bongo Comics Fan Forum
Re: 2.0 Update Part 4
« Reply #48 on: February 07, 2008, 05:59:40 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
Gary M. Gadsdon
Lead Customiser
Do NOT PM me unless I say so
Look here are three little dreamers,
ready to impress everyone
Listen up, cos it's not over
Our time has just begun!

The War of the Simpsons
Bongo Comics Fan Forum
Youtube Let's Plays
^ Current Game: Final Fantasy XIII-2 & Final Fantasy X HD

Offline plexxity

  • Semi-Newbie
  • *
  • Posts: 15
Re: 2.0 Update Part 4
« Reply #49 on: February 07, 2008, 07:14:36 PM »
omg.... release smf2 soon.... its been forever :(

Online Gary

  • Lead Customizer
  • SMF Super Hero
  • *
  • Posts: 16,014
  • Gender: Male
  • So this is the luck of the draw...
    • garygadsdon on LinkedIn
    • @Gazmanafc on Twitter
    • The Bongo Comics Fan Forum
Re: 2.0 Update Part 4
« Reply #50 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
Gary M. Gadsdon
Lead Customiser
Do NOT PM me unless I say so
Look here are three little dreamers,
ready to impress everyone
Listen up, cos it's not over
Our time has just begun!

The War of the Simpsons
Bongo Comics Fan Forum
Youtube Let's Plays
^ Current Game: Final Fantasy XIII-2 & Final Fantasy X HD

Offline Ben_S

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 11,678
  • xxx
Re: 2.0 Update Part 4
« Reply #51 on: February 08, 2008, 04:58:41 AM »
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 ???
Liverpool FC Forum with 9 million+ posts.

Offline plexxity

  • Semi-Newbie
  • *
  • Posts: 15
Re: 2.0 Update Part 4
« Reply #52 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.

Offline Grudge

  • SMF Friend
  • SMF Super Hero
  • *
  • Posts: 10,743
  • Gender: Male
  • Unofficial nuisance
Re: 2.0 Update Part 4
« Reply #53 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.
I'm only a half geek really...

Offline Fustrate

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 6,474
  • Gender: Male
  • Controller of the rum budget
    • @Fustrate on Twitter
    • Fustrate
Re: 2.0 Update Part 4
« Reply #54 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.
Steven Hoffman
Former Team Member, 2009-2012

Online mcblaber

  • Support Specialist
  • SMF Super Hero
  • *
  • Posts: 11,186
  • Gender: Male
    • mcblaber on LinkedIn
    • @mcblaber on Twitter
    • AvatarPrime
Re: 2.0 Update Part 4
« Reply #55 on: February 09, 2008, 01:47:03 PM »
Theres an advanced shop mod and a free one as there is for for other mods.
M. Colin Blaber
Formally known as shadow82x
SMF Support Specialist

SMF2.1 Alpha Playground

Offline Fustrate

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 6,474
  • Gender: Male
  • Controller of the rum budget
    • @Fustrate on Twitter
    • Fustrate
Re: 2.0 Update Part 4
« Reply #56 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...
Steven Hoffman
Former Team Member, 2009-2012

Offline Daniel15

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 4,216
  • Gender: Male
  • http://dan.cx/
    • daaniel on Facebook
    • daniel15 on LinkedIn
    • @Daniel15 on Twitter
    • Daniel15
Re: 2.0 Update Part 4
« Reply #57 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). ;)
Daniel15, former Customisation team member, resigned due to lack of time. I still love everyone here :D.
Go to smfshop.com for SMFshop support, do NOT email or PM me!

Offline Fustrate

  • SMF Friend
  • SMF Hero
  • *
  • Posts: 6,474
  • Gender: Male
  • Controller of the rum budget
    • @Fustrate on Twitter
    • Fustrate
Re: 2.0 Update Part 4
« Reply #58 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?
Steven Hoffman
Former Team Member, 2009-2012

Nordoelum

  • Guest
Re: 2.0 Update Part 4
« Reply #59 on: March 04, 2008, 07:15:34 PM »
When will we see 2.0 Update Part 5?

Birger :)