• Dadman with a boy
  • Posts: 16,068
Minor features
« on May 11th, 2011, 03:53 PM »Last edited on May 15th, 2011, 04:05 PM by Nao/Gilles
Here's a tentative list of all minor feature additions/changes that I didn't deem worthy of their own section, but could still be mentioned here... (Complainers should go through the commit log themselves. Beware though, it took me a week to do that. Don't try this at home. Or at least try and help organize this list and point out what features you feel should be expanded upon in a post of their own.)

I've sorted them by author, because that's how I went through the commit log originally -- starting with Pete's additions, and then mine. I'm not in the mood for spending more time on sorting the list by type. I'm sure no one will read it entirely anyway! :P

Additions by Arantor:

- BBC tags are now defined in the database, making it easier for mods to add their own tags. (No file edits!)
- Database-controlled topic ordering in message index.
- Modders can now register custom {variables} to queries the same way {db_query} is done, with a function call. No code modification needed.
- Cache optimization on news items.
- Unread posts area now always shows the entire list of unread posts -- this should encourage the use of the Mark All Read button in the process, which in turn helps database performance.
- Users can now move topics only into boards they could actually create topics in.
- Imperative scheduled tasks (they're given a specific execution date in the future), and source file setting for scheduled tasks (i.e. you can specify a file to load before executing a given scheduled function.)
- Added group requirements to paid subscriptions. You may now offer a specific subscription to a given group, e.g. current subscribers could get a renewal offer at a reduced price.
- The language on PayPal pages will now match the user's language choice on Wedge.
- Added proper member recount in the maintenance area.
- New permissions: View IP (own / all), Edit Website, Edit Signature. (You can now easily prevent newbie groups from adding spam in their website & sig.)
- Debug info (database and stuff) can now be shown to different user groups, can be set in the admin area.
- At install time, the first topic is now posted from the admin -- no more 'Simple Machines' guest, meaning you can actually choose to edit the post and keep it.
- Added loadSource('File') function to load 'Sources/File.php' efficiently. Also saves you the need to add $sourcedir to the list of global variables...
- All actions are now each in their very own file.
- Actions can avoid being logged in the who's online list by defining a variable at the beginning of the file.
- blankGif() outputs a blank image directly, instead of redirecting to a gif file.
- Added ability to hide all banned users' avatars.
- Allow redirect boards to be opened in a new window (or not.)
- Most of the important Source files are now properly documented in the PHPDoc format. (And the both of us are trying to document our new functions as thoroughly as possible.)
- Removed all of the code pertaining to topic participation icons. Seriously, who even noticed these icons at all? If you want to know if a topic is popular, you just look at the number of replies/views in it...
- Removed help area. (Shortly after that, SMF did the same to their help system. They're now using a Wiki. We don't know if we'll do the same though.)
- Changed 'star' denomination to 'rank' in user group ranks.
- Dropdown selector for viewing mode in PM area. (I'm sure this will help many actually notice there are other modes available.)
- Removed easter eggs. Some were funny, but they were old (and could even slow down the forum.)
- Quick Reply area now allows you to immediately show the full editor icons in a single click.
- At registration time, some default user settings were switched, for logical reasons. Also, the time offset is detected by Wedge.
- Replaced musician and actor avatar packs with xkcd avatar pack. Which is wayyyy cooler...
- Moderators checking out the who's online area will now see the error message whenever a user action results in an error.

Additions by Nao:

- Chosen auto-suggest entries are shown above the auto-suggest input, rather than below. It makes more sense.
- parse_bbc_inline() is an alias function that parses messages for inline tags only, i.e. tags that do not result in an oversized object. It's best used in areas where text parsing could end up breaking the page layout.
- Added $browser global (an alias to $context['browser']). In addition, the browser array adds 'agent' (current browser's name), and 'version' (current version number).
- New menu system. Looks great, plays great, uses CSS3 but works in IE6, uses JavaScript but works when JS is disabled. Supports separators. Icons based on the Diagona set.
- An ": edit :" smiley. It's an easy addition, but priceless when you're modifying a post and you want to draw attention on the edited part.
- Made some permission names clearer.
- Removed so many useless things from SMF that I wouldn't know where to start... Wait. Don't even get me started, actually.
- All confirm() and similar JS calls using $txt are now protected with JavaScriptEscape(), fixing an annoying SMF bug where language files could unknowingly break features.
- Modified links inside posts to show an underline. It may seem like a detail, but I've often seen people spam by hiding links into their posts. They should be more visible.
- Removed stylesheet parameter from loadTemplate. Use add_css_file('mycss', true) instead.
- The 'php' bbcode is now looking more like a 'code' bbcode with syntax coloring enabled automatically.
- Quick edit icons now show during page loading, rather than after all JS is executed. Eliminates that awkward layout change effect in SMF.
- If an image (gif/png/jpg) is requested and not found, Wedge will log the error, instead of Apache. Should make it easier to spot these errors. (This was revision 404 in the SVN server. I have a weird sense of humor.)
- The auto-suggest control should now work flawlessly in IE and Opera. I believe the SMF team gave up on fixing these glitches long ago. Actually...
- ...Wedge supports all modern, current browsers. SMF dropped official support for Opera because they couldn't/wouldn't fix related SMF bugs. Way to go.
- Set $context['bottom_linktree'] to true to automatically duplicate the linktree at the bottom of the page.
- Buttons now all sport a contextual icon where useful, such as "OK", "Cancel", "New", "Delete", "Spellcheck" or "Save".
- Three stylings so far: Wine (default), Wuthering (Curve-like) and Warm (minimal look.)
- Removed all of the JavaScript eval/string function calls, and many of the PHP ones as well. Good riddance.
- SMF enjoys deleting your work when you quick edit a message and then click the quick edit icon again by mistake. We don't.
- If you're viewing your outbox and at least one of the recipients replied to a message, Wedge will tell you how many.
- Use hideChrome() function to hide the header, footer, sidebar and top templates automatically.
- Check $context['is_ajax'] to determine whether a page is being called through Ajax -- enabling you to send different content. Chrome is automatically hidden.
- $(object).dragslide() applies a drag'n'slide effect to any DOM object. Use 'nodrag' classes inside the object to mark non-draggable areas.
- I was in charge of the French version for SMF for a long time, so obviously it's even better in Wedge, and always up to date. Go go rude people!
- Most of the icons in the default theme (including language-specific icons) are now CSS-driven, so they're easier to style.
- Wireless template gets shortened tags and class names. When it comes to some data plans, a byte saved is a buck saved.
- Made profile links not clickable if user hasn't got permission to view profiles.
- $start_time global is now a valid value in seconds. Use microtime(true), guys!
- 'Child boards' are now 'sub-boards', as often requested in the SMF community.
- Optimized UTF8-aware string functions. Just wanted to say.
- If Today/Yesterday date transformations are enabled, check for the year and remove it if it's the current one.

Additions by both:

- {query_list_board} is like {query_see_board}, but only gives users the ability to view hidden boards in board lists, but not browse them. (Okay, maybe this one should be in a feature of its own...) :P
- Android, iPhone and iPad (tablet) posting icons. Now you can actually let these silly devices add typos for you. It's not your fault anymore.
- Restructured several important templates into series of sub-templates, for easier integration.

...And these are all the things we thought might be of interest. Internally, there are hundreds more changes to the code base, all of which are documented in the SVN changelog, which we might release in the future. If anyone's interested in reading it.

Re: Minor features
« Reply #16, on May 15th, 2011, 04:06 PM »

- If Today/Yesterday date transformations are enabled, check for the year and remove it if it's the current one.

(For now, it only works if there's a space before the year, as in the default. I don't see much of a reason not to have one.)