<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WP Symposium</title>
	<atom:link href="http://www.wpsymposium.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wpsymposium.com</link>
	<description>Social Network plugin for WordPress</description>
	<lastBuildDate>Thu, 09 May 2013 15:21:30 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Release information for v13.05</title>
		<link>http://www.wpsymposium.com/2013/05/release-information-for-v13-05/</link>
		<comments>http://www.wpsymposium.com/2013/05/release-information-for-v13-05/#comments</comments>
		<pubDate>Mon, 06 May 2013 20:29:47 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[groups]]></category>
		<category><![CDATA[v13.05]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2967</guid>
		<description><![CDATA[Previous Release notes v13.04 v13.02 v12.12 Status Current phase is: Released Feature set scope complete (see below), but may change during development. Development phase completed. Testing phase complete. Final cleanup complete. Released: 9th May (4:20pm GMT). Admin Guide: Available online. To download the current release candidate, please read the manual upgrade instructions below. Please see notes on [...]]]></description>
				<content:encoded><![CDATA[<h1>Previous Release notes</h1>
<ul>
<li><a title="Release information for v13.02" href="http://www.wpsymposium.com/2013/02/release-information-for-v13-04/">v13.04</a></li>
<li><a title="Release information for v13.02" href="http://www.wpsymposium.com/2013/01/release-information-for-v13-02/">v13.02</a></li>
<li><a title="Release information for v12.12" href="http://www.wpsymposium.com/2012/11/release-information-for-v12-12/">v12.12</a></li>
</ul>
<h1>Status</h1>
<p><strong>Current phase is: Released</strong></p>
<ul>
<li>Feature set scope complete (see below), but may change during development.</li>
<li>Development phase completed.</li>
<li>Testing phase complete.</li>
<li>Final cleanup complete.</li>
<li>Released: 9th May (4:20pm GMT).</li>
<li>Admin Guide: Available <a title="Admin Guide" href="http://www.wpsymposium.com/admin-guide/">online</a>.</li>
</ul>
<p><em>To download the current release candidate, please read the manual upgrade instructions below.</em></p>
<p>Please see <a title="Release Schedule Update" href="http://www.wpsymposium.com/2012/09/release-schedule-update/">notes on the release schedule</a> for more information.</p>
<h1>Scope of v13.05</h1>
<p>A summary of the release changes is available in <a href="/wp-content/plugins/wp-symposium/release.txt" target="_blank">release.txt</a>.</p>
<p>_____Enhancements_____</p>
<p>CORE</p>
<p>* Choose to exclude JWPlayer (large javascript file) in Manage-&gt;Settings<br />
* Added &#8220;Everyone&#8221; to Manage-&gt;Thesaurus, for example, change to &#8220;Community&#8221;</p>
<p>PROFILE</p>
<p>* Choose which extended fields to include in advanced search<br />
* Set default privacy level of new members via Options-&gt;Profile</p>
<p>FORUM</p>
<p>* Topic post/reply lock countdown shown (admin&#8217;s can always delete)<br />
* Forum topic post/reply lock countdown</p>
<p>GROUPS</p>
<p>* Group admin can set maximum number of members<br />
* Set default maximum number of members per group on Group admin page</p>
<p>_____Bug_Fixes_____</p>
<p>* Fixed upload of non-images (uses Manage-&gt;Settings-&gt;extensions)<br />
* Backslashes on community settings (text field)<br />
* Events in calendar view now defaults to current month</p>
<h1>What you should do after upgrading</h1>
<p>To be sure of a clean upgrade, you should do the following after upgrading an existing WP Symposium installation:</p>
<ul>
<li>Visit the Installation page</li>
<li>If you don&#8217;t want the inbuilt profile/group page templates (and use the custom templates), select them on the Options-&gt;Profile and Options-&gt;Group settings.</li>
<li>If you&#8217;re using the <a href="http://www.wpsymposium.com/2012/02/wp-symposium-cubepoints-module/">CubePoints WP Symposium module</a>, update to the <a href="http://www.wpsymposium.com/2012/02/wp-symposium-cubepoints-module/">latest version</a>.</li>
<li>If using custom templates and you&#8217;re experiencing problems, reset your templates. Don&#8217;t forget to save them!</li>
</ul>
<h1>Core</h1>
<p>If you don&#8217;t allow user to upload video files on your site, which is likely as you&#8217;ll be paying high bandwidth costs, then exclude JWPlayer in Manage-&gt;Settings.</p>
<p>&#8220;Everyone&#8221; added to Manage-&gt;Thesaurus, so you can change it to something like &#8220;Community&#8221; or &#8220;Site Members&#8221;.</p>
<h1>Profile</h1>
<p>On Options-&gt;Profile, you can select which fields are included in the advanced search. Note that you can only include checkboxes and lists. Be sure to set up your choice for the first time after upgrading.</p>
<p>Default privacy levels for new members can be set via Options-&gt;Profile. Be sure to consider privacy implications if setting less private.</p>
<h1>Forum</h1>
<p>Topics and replies now display the time left before they are locked from further editing. Note that admin&#8217;s can always delete.</p>
<h1>Groups</h1>
<p>Group admin&#8217;s can set the maximum number of members permitted in a group, via group settings.</p>
<h1>How to manually upgrade to a release candidate</h1>
<p>It is very important (actually vital) when manually installing (or installing a release candidate), to:</p>
<ol>
<li>take a backup of your current wp-symposium plugin folder and database (&#8220;just in case&#8221;)</li>
<li>delete the current wp-symposium plugin folder via FTP - <strong>do not delete via WordPress admin-&gt;<strong>Plugins-&gt;Installed Plugins</strong> as this will delete all your WP Symposium content!!!</strong></li>
<li>upload the contents of the <a href="/downloadinstall">download</a> into your plugins folder (so that you have new wp-symposium folder with everything of inside of it and not old files hanging around)</li>
<li>re-activate the single WP Symposium plugin</li>
</ol>
<p>If you are manually installing the same version<strong> (ie. you are installing a newer release candidate, for example)</strong>, then you can skip steps 1 and 2. If you are upgrading from v12.10 to v12.11 (for example), then you should perform steps 1 and 2.</p>
<p>The download version is suffixed with NB for nightly build during development phase, or RC for release candidate during testing phase. If no suffix, current download is the same as available via <a href="http://wordpress.org/extend/plugins/wp-symposium/" target="_blank">wordpress.org</a>.</p>
<h1>Upgrading via WordPress admin</h1>
<p><em>Note: this is only applicable to the live release.</em></p>
<div>When you upgrade, you <em>must</em> do the following:</div>
<div></div>
<div>
<ol>
<li>As always recommended by WordPress, backup your site/database so you can rollback if you have to. There are <a href="http://wordpress.org/extend/plugins/search.php?q=backup" target="_blank">numerous plugins</a> to help you.</li>
<li>After upgrading, make sure that the single WP Symposium plugin is activated on your WordPress plugins page.</li>
<li>And then go to your installation page and activate the &#8220;features&#8221; (previously separate plugins) required. <strong><em>If using WordPress multi-site</em></strong>, network activate those &#8220;features&#8221; that you want all of your sites to have automatically activated, leaving the rest of the site admin&#8217;s to activate themselves</li>
<li>Finally, reset the Profile Page Header template (WP Symposium-&gt;Manage-&gt;Templates) and re-save. <strong><em>If using WordPress multi-site</em></strong>, you can update all your sites at once (checkbox beside save button).</li>
</ol>
</div>
<h1>Reporting errors</h1>
<p>A dedicated <a href="http://www.wpsymposium.com/discuss/bug-reports-for-v1305/">forum area</a> is available to report bugs found with this release.</p>
<h1>Admin Guide</h1>
<p>The admin guide has been updated to cover the current download, including the new way of activating WP Symposium features (previously plugins). It&#8217;s available as a PDF to <a href="https://dl.dropbox.com/u/49355018/wps.pdf" target="_blank">download</a> (19MB), but is being moved to an <a title="WP Symposium admin guide" href="http://www.wpsymposium.com/admin-guide">online version</a>.</p>
<h1>Support non-English languages</h1>
<p>Is your site German? You should pop over to <a href="http://www.wpsymposium.com/group/?gid=9">Thomas&#8217;s German group</a>, which includes support for translations into German.</p>
<h1>Previous Versions</h1>
<p>Older versions of WP Symposium are available at the bottom of the <a href="/downloadinstall">download</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/05/release-information-for-v13-05/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Develop a WordPress plugin with no programming skills? Easy!</title>
		<link>http://www.wpsymposium.com/2013/04/code/</link>
		<comments>http://www.wpsymposium.com/2013/04/code/#comments</comments>
		<pubDate>Fri, 19 Apr 2013 09:01:32 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[develop]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2942</guid>
		<description><![CDATA[Variables? Loops? Arrays? Huh?! Don’t Panic! This black art, over a series of articles, will start with the development of your first plugin, through to arming your with know-how that will let terms like these trip of your tongue as easy as getting a cat to ignore you.]]></description>
				<content:encoded><![CDATA[<h1>Develop a WordPress plugin with no programming skills? Easy!</h1>
<p>There are those who use WordPress that feel a technical urge to develop a WordPress plugin, but as far as they know PHP might as well be the acronym for “Pot Head Pixie”<sup> [5]</sup>, and to do so would require programming skills. But, through an approachable style, and practical steps that deliver results, it’s possible. Really? Yep, honest!</p>
<p>Variables? Loops? Arrays? Huh?! <b>Don’t Panic!</b> This black art, over a series of articles, will start with the development of your first plugin, through to arming your with know-how that will let terms like these trip of your tongue as easy as getting a cat to ignore you.</p>
<p>Remember, don’t panic. (Have you not read Hitchhiker’s Guide to the Galaxy? Do so. Now. <a href="http://en.wikipedia.org/wiki/The_Hitchhiker's_Guide_to_the_Galaxy">http://en.wikipedia.org/wiki/The_Hitchhiker&#8217;s_Guide_to_the_Galaxy</a>)<sup> [7]</sup></p>
<p>Remember, that’s…</p>
<p style="text-align: center;"><span style="font-size: 28px !important; color: #ff0000;"><b><i>Don’t Panic!</i></b></span></p>
<p>Okay, with the first and probably most useful piece of advise ever provided handed over to you, and now tucked away in your toolbox, let’s take a moment to consider what you’re thinking of doing.</p>
<p>1. WordPress is a web application (simply put, it’s software that does something online, for example, on or for a website). Now the clever people at Automatic (who make WordPress, read more about them should you wish at <a href="http://automattic.com">http://automattic.com</a>)<sup>[1]</sup> have made WordPress so that other people, like you and me, can extend it with… plugins. Wahoo!</p>
<p><i>Not scared off? Awesome, that’s a good sign.</i></p>
<p>2. So you want to “extend” WordPress, by making a plugin. Now, sit down, as this next sentence could cause a little alarm (this is a good moment in time to remember the advice provided earlier). A plugin is a little web application all of it’s own that, erm, “plugs in” to WordPress. And as it’s a web application, it has to be created in a programming language.</p>
<p>Nerd’s-ville!! Embrace the idea that you’re going to write some code. Accept it. And move on safe in the knowledge that once you start, it’s very hard to stop. It’s a one-way street, it’s addictive, and if you get the bug… well, that’s a topic for another discussion. Be prepared to use strange forms of language when you tell your family and friends that you’re “in the zone”. Kind of cool.</p>
<p>3. Now, you’re going to need to be running WordPress somewhere. You’ve got two choices: on your own computer, or on a webserver on the internet. I’m going to assume you’ll use your own computer (after all, you’ve probably got one…), and a couple of rather handy articles have been penned by those friendly chaps at WPMU.org, discussing free (oh, yes, free) software for you to do so:</p>
<ul>
<li>Set up WordPress on your Mac (tutorial): <a href="http://wpmu.org/wordpress-for-mac-install-locally-mamp-tutorial">http://wpmu.org/wordpress-for-mac-install-locally-mamp-tutorial</a> <sup>[9]</sup></li>
<li>Or, on Windows (tutorial): <a href="http://wpmu.org/install-wordpress-locally-on-windows-with-xampp">http://wpmu.org/install-wordpress-locally-on-windows-with-xampp</a> <sup>[10]</sup></li>
</ul>
<p>4. If you’ve taken a look at the above tutorials, go ahead and set up your development environment. You need not understand the technical terminology but I’m going to have faith in you and assume you’ve got WordPress up and running locally for the rest of this article. Bit of a cheek, sorry, but use the above links to get this task done, ahem.</p>
<h2>Know where your wp-content/plugins folder is!</h2>
<p>When you were setting up your development environment you would have installed and decided where to put it on your hard disk. Now, I use a Mac generally, so the following screenshots will be Mac-like, but the principle is the same for all you Windows peeps. Here you can see my file system, and my installation of WordPress. You’ll also see there are some folders underneath. I’m not going to go off at too much of a tangent, but suffice it to say you need to know where your plugins folder is, which is within your wp-content folder. (Read that book yet? Well, if you have, I accept and dutifully agree that also knowing where your towel is, is up there in terms of importance).</p>
<p>Here’s my file system, confirming to me I know where my plugins folder is:</p>
<div id="attachment_2944" class="wp-caption aligncenter" style="width: 686px"><a href="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.47.36.png"><img class="size-full wp-image-2944" alt="File system location of plugins folder" src="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.47.36.png" width="676" height="712" /></a><p class="wp-caption-text">File system location of plugins folder</p></div>
<p>Why on earth do you need to know where this folder is? Why for the love of everything holy should you care? Well, my dear developer, this is where you are going to put your plugin. And this, oh coding maestro, is what we are going to do next.</p>
<p><i>(Remember, don’t panic…!)</i></p>
<h2>Let’s make the plugin! Wahoo!</h2>
<p>Now, you are going to need something with which to make your plugin. A plugin is written code – and code can be written in something as simple as a text editor. In fact many developers prefer the simplicity of text editors to expensive software applications. And that’s all you’ll need for now, and as well as MAMP/XAMPP, they are also free. Good, eh? When you sell your plugin for millions, that’s a 100% profit margin. Yummy.</p>
<p>So take your pick. If you’re on Windows, even Notepad will do the job, but you may want to check out EditPlus++<sup>[2]</sup> (<a href="http://notepad-plus-plus.org">http://notepad-plus-plus.org</a>), and on Mac you can use TextEdit, but take a look at my favourite, EditRocket<sup>[3]</sup> (<a href="http://www.editrocket.com">http://www.editrocket.com</a>). It’s a very subjective topic, something for another article, but just don’t use anything that formats text, like Microsoft Word.</p>
<p>Time is previous, especially now you’re coding. So, let’s not waste any more time, crank up your editor of choice and type in the following. Don’t worry what it is for now, I’ll explain in a moment.</p>
<p><i>Yes, it’s an image; you can’t copy and paste the text. That’s intentional; you’ll never learn anything by copying and pasting. You need to type, make mistakes, find the mistakes (bugs) and correct them. It’s the way to learn to code.</i></p>
<div id="attachment_2945" class="wp-caption aligncenter" style="width: 768px"><a href="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.48.56.png"><img class="size-full wp-image-2945" alt="First lines of plugin code to enter" src="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.48.56.png" width="758" height="255" /></a><p class="wp-caption-text">First lines of plugin code to enter</p></div>
<p>Spot the PHP on the first line? The mention of it in the first sentence of this article wasn’t a random co-incidence! It’s the programming language you’re using. Google “PHP” for more information. But the key thing is that at the top of your PHP file you must have <b>&lt;?php</b> and at the end you must have <b>?&gt;</b>. Now, the word must is key here, it’s not optional, it’s 100%, totally, completely mandatory. All your code will be placed between them.</p>
<p>So, what have you entered? Well, it’s one big comment – a comment being a note within the file, it won’t do anything. But it’s important, as you’ll see shortly. The comment starts with <b>/*</b> and ends with <b>*/</b>.</p>
<p>What you’re creating here is a file that WordPress will be able to “plugin” to extend itself, and your web server (that’s MAMP or XAMPP), will interpret and do what you tell it to. This is the start of your first computer programme! Pat yourself on the back, take a bow, and feel smug.</p>
<p>So, the comments&#8230; Well, these are important for WordPress to know that what you’re creating is a plugin. Whilst normally, your comments can say anything you want (they’re normally for your benefit), in this instance, each line must start as shown. Most are self-explanatory, and to be honest, right now, if you don’t understand something it will either become clear; or not be essential in your early days of coding.</p>
<p>But we want to finish our first plugin and get it on our (local) website. So, extend your file to the following, being careful to copy it exactly as shown. And no, you can’t copy and paste, get used to typing. Seriously.</p>
<div id="attachment_2946" class="wp-caption aligncenter" style="width: 696px"><a href="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.50.00.png"><img class="size-full wp-image-2946" alt="First lines of code in the plugin" src="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.50.00.png" width="686" height="444" /></a><p class="wp-caption-text">First lines of code in the plugin</p></div>
<p>I hear you… What, for all the tea in china, does that mean? (Don’t panic).</p>
<p>The best thing to do is see what it actually does. But, this is the first version of your plugin completed. So go ahead and save it. Where? Yep, that plugins folder! Save it, and call the file “helloworld.php” (the .php is important), <span style="text-decoration: underline;">inside</span> that plugins folder:</p>
<div id="attachment_2947" class="wp-caption aligncenter" style="width: 626px"><a href="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.50.43.png"><img class="size-full wp-image-2947" alt="Save in your plugins folder" src="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.50.43.png" width="616" height="606" /></a><p class="wp-caption-text">Save in your plugins folder</p></div>
<p>What’s inside your plugins folder will differ from what you see above, depending on what plugins you have installed on your WordPress setup. But the important thing is that your file is placed <span style="text-decoration: underline;">inside</span> the plugins folder.</p>
<h2>Activate your plugin!</h2>
<p>The moment of truth, this is it. Go to your (local) WordPress website, log in as the admin user, and if not there already go to the admin dashboard (probably at something like <a href="http://localhost/wp-admin">http://localhost/wp-admin</a>).</p>
<p>Click on plugins, and look down the list, and – with a fair wind, accurate typing, and a quick pray – your plugin will be listed:</p>
<div id="attachment_2948" class="wp-caption aligncenter" style="width: 764px"><a href="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.51.26.png"><img class="size-full wp-image-2948" alt="Activate your plugin" src="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.51.26.png" width="754" height="553" /></a><p class="wp-caption-text">Activate your plugin</p></div>
<p>Wahoo! Remember those comments? You can now see where and why they matter, and click on “Joe Bloggs” or “Visit plugin site” to see where the URI’s come into play.</p>
<p><i>Key lesson now – serious point. Coding is about playing. Trying things out. Breaking your code. Fixing it. Improving it. So play around with the comments and see how it changes on your plugin page. Really. Give it a go and then come back to carry on.</i></p>
<p>Do you manage to break it? Change it? Righty ho, go on then… activate your plugin!</p>
<p>When you do, and assuming you’ve no bugs in your code (if you do, go back and compare what is shown above with what you’ve got in your text editor), your plugin will activate.</p>
<p>But, now what, where does it show? How do you get it on your site.</p>
<h2>Adding your plugin to your site</h2>
<p>Take a look back at your code. See that line 19? It’s doing what it says, adding a shortcode (‘add_shortcode ‘) to WordPress that can be used on a WordPress page.</p>
<p>Create a new page in WordPress, and before putting anything in the page content, make sure it’s visible on your site. Depending on your site, you may need to create/amend a Menu via “Appearance”-&gt;”Menu” on the admin dashboard.</p>
<p>Assuming you can see your page on your (local) website, via the admin dashboard, edit your page (via Pages on the menu). In the content, just enter your WordPress shortcode that is also in line 19 of your plugin code.</p>
<p>Wait! What’s a shortcode? If this is new to you, it’s how you use functionality provided by plugins. WordPress defines a shortcode as:</p>
<p style="text-align: center;"><i>“A <b>shortcode</b> is a WordPress-specific code that lets you do nifty things with very little effort. Shortcodes can embed files or create objects that would normally require lots of complicated, ugly code in just one line. <b>Shortcode = shortcut</b>.”<br />
<a href="http://en.support.wordpress.com/shortcodes">http://en.support.wordpress.com/shortcodes</a></i><sup> [8]</sup><i></i></p>
<p>Your plugin created a shortcode, namely <b>[myshortcode]</b>, so when you edit your new page, just put [myshortcode] in the content – nothing else.</p>
<div id="attachment_2949" class="wp-caption aligncenter" style="width: 693px"><a href="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.51.58.png"><img class="size-full wp-image-2949" alt="Add your shortcode to a WordPress page" src="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.51.58.png" width="683" height="476" /></a><p class="wp-caption-text">Add your shortcode to a WordPress page</p></div>
<p>Save your page, and go and take a look on your website, it should look something like the following (accept your WordPress theme might make the overall page look and feel different):</p>
<div id="attachment_2950" class="wp-caption aligncenter" style="width: 867px"><a href="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.52.55.png"><img class="size-full wp-image-2950" alt="Your WordPress page showing plugin output" src="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.52.55.png" width="857" height="469" /></a><p class="wp-caption-text">Your WordPress page showing plugin output</p></div>
<p>See there, right below the page title that you entered when you created the page? The words “Hello World”? That’s your plugin sending that to the screen! Pretty cool huh?</p>
<p>You, my fine coding friend, have just created your first computer program, and your first WordPress plugin. Not bad!</p>
<p>Before coming to an end, try extending your plugin with the following change:</p>
<div id="attachment_2951" class="wp-caption aligncenter" style="width: 648px"><a href="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.53.35.png"><img class="size-full wp-image-2951" alt="Add some more code to your plugin" src="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.53.35.png" width="638" height="430" /></a><p class="wp-caption-text">Add some more code to your plugin</p></div>
<p>Just save the file (save over the top of your existing file), and go back to the page on your (local) website to see the change:</p>
<div id="attachment_2952" class="wp-caption aligncenter" style="width: 683px"><a href="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.54.09.png"><img class="size-full wp-image-2952" alt="Additional output from your plugin" src="http://www.wpsymposium.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-19-at-09.54.09.png" width="673" height="385" /></a><p class="wp-caption-text">Additional output from your plugin</p></div>
<p>With that last change, you can see how you can add more in the way of output, using standard HTML, to show on the screen. Don’t know HTML? Well, check out <a href="http://www.w3schools.com/html">http://www.w3schools.com/html</a> <sup>[6] </sup>that has a wealth of useful information, examples, and tips for you.</p>
<h2>Next Steps</h2>
<p>So that’s it. You’re now part of the coding community. It’s a never-ending road, you will never know everything, there is always something to learn, and should you so which, you will learn daily. In future I’ll cover where you can go for help. There are so many people who will gladly help you out, for free, on any topic (coding that is, your life generally is out of scope). They’re generally a friendly bunch, and not all Cola guzzling, pizza scoffing, sci-fi nerds! Well… ahem. Mostly.</p>
<p>The next part of this series of programming from scratch for WordPress will expand on what our plugin does, in particular the next part will:</p>
<ul>
<li>Display information about the current logged in user;</li>
<li>Start building up some useful PHP skills. (Want a teaser? Variables. The building blocks of programming.)</li>
</ul>
<p>And remember, when things don’t work, and you feel like you’re going crazy, and you’re hopelessly late for bed… don’t panic. And drink tea, tea is good.</p>
<p>By the way, PHP stands for <i>PHP: Hypertext Pre-processor <sup>[4]</sup></i>, and is a recursive acronym….</p>
<p><b><i>Simon Goodchild<br />
</i></b>April 2013</p>
<p>Word count = 2076</p>
<h1>References</h1>
<ol>
<li>Automattic <a href="http://automattic.com">http://automattic.com</a> (accessed 18/04/2013)</li>
<li>EditPlus++ <a href="http://notepad-plus-plus.org">http://notepad-plus-plus.org</a> (accessed 18/04/2013)</li>
<li>EditRocket <a href="http://www.editrocket.com">http://www.editrocket.com</a> (accessed 18/04/2013)</li>
<li>PHP.net <a href="http://php.net/manual/en/faq.general.php">http://php.net/manual/en/faq.general.php</a> (accessed 18/04/2013)</li>
<li>The Free Dictionary, Definitions of PHP <a href="http://acronyms.thefreedictionary.com/PHP">http://acronyms.thefreedictionary.com/PHP</a> (accessed 18/04/2013)</li>
<li>W3schools.com <a href="http://www.w3schools.com/html">http://www.w3schools.com/html</a> (accessed 18/04/2013)</li>
<li>Wikipedia <a href="http://en.wikipedia.org/wiki/The_Hitchhiker's_Guide_to_the_Galaxy">http://en.wikipedia.org/wiki/The_Hitchhiker&#8217;s_Guide_to_the_Galaxy</a> (accessed 19/04/2013)</li>
<li>WordPress.com <a href="http://en.support.wordpress.com/shortcodes">http://en.support.wordpress.com/shortcodes</a> (accessed 18/04/2013)</li>
<li>wpmu.org, Set up WordPress on your Mac Tutorial <a href="http://wpmu.org/wordpress-for-mac-install-locally-mamp-tutorial">http://wpmu.org/wordpress-for-mac-install-locally-mamp-tutorial</a> (accessed 18/04/2013)</li>
<li>wpmu.org, Set up WordPress on your Windows Tutorial <a href="http://wpmu.org/install-wordpress-locally-on-windows-with-xampp">http://wpmu.org/install-wordpress-locally-on-windows-with-xampp</a> (accessed 18/04/2013)</li>
</ol>
<h1>About the author</h1>
<p>Simon is been programming for over 25 years as well as providing management and technical consultancy services.</p>
<p>He developers and manages WP Symposium (<a href="http://www.wpsymposium.com">www.wpsymposium.com</a>), lives in the UK, loves WordPress, and drinks tea.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/04/code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP Symposium Settings</title>
		<link>http://www.wpsymposium.com/2013/03/wp-symposium-settings/</link>
		<comments>http://www.wpsymposium.com/2013/03/wp-symposium-settings/#comments</comments>
		<pubDate>Mon, 18 Mar 2013 12:47:44 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2881</guid>
		<description><![CDATA[Accessed via WP Symposium -&#62; Manage -&#62; Settings. Quite a lot of settings. But, as written on the cover of the greatest selling book in the history of the universe, don’t panic. (You haven’t read Hitchhikers Guide to the Galaxy? Read it. Now.) This just means that there are options for you to play with. However, [...]]]></description>
				<content:encoded><![CDATA[<p>Accessed via WP Symposium -&gt; Manage -&gt; Settings.</p>
<p>Quite a lot of settings. But, as written on the cover of the greatest selling book in the history of the universe, don’t panic. (You haven’t read Hitchhikers Guide to the Galaxy? Read it. Now.) This just means that there are options for you to play with. However, there are a few that you will want to get right. Some are a little techie, but nothing that you can’t handle.</p>
<h1>Script Time Out</h1>
<p>Sets how long it is before a WP Symposium page script times out. Set to 0 if you don’t want a limit, or are not sure what the hell a script time out is.</p>
<div>
<h1>WPS JS files and WPS CSS files</h1>
</div>
<p>WP Symposium ships with both uncompressed and compressed JavaScript and Stylesheet (CSS) files. The uncompressed can be read and edited but are larger, and so slower to load. Minimized can’t easily be read, but load faster as they are smaller. So which to use? Well, if you have to ask, choose Minimized.</p>
<div>
<h1>Widgets AJAX mode</h1>
</div>
<p>Widgets are shown in the WordPress sidebar (a WordPress thing, not a WP Symposium thing). Check out the Widgets chapter for more information. If you want the widget contents to be shown with your page content then uncheck this option. If you want your page to load, and then the widgets content to appear after (which may give the perception of a fast page load), check this option. Why not always use AJAX? Well, it increases the number of separate calls to your server, so may have a slightly higher impact on your server. Try both, see which you prefer. I would tend to stick to non-AJAX mode for widgets, otherwise the AJAX-loading image can appear a few too many times.</p>
<div>
<div>
<h1>Enable LITE mode</h1>
</div>
<p>If your site is on a cheaper hosting provider (nothing wrong with that), you can reduce the load placed on your server by reducing the features used in WP Symposium. Less features equals less server load, but, erm also equals less features.</p>
<p>The difference is as follows when LITE mode is enabled:</p>
<h2>Forum</h2>
<ul>
<li>Topic, post and reply counts are not displayed</li>
<li>Only new topics are shown, not latest replies</li>
<li>Answered topics not shown in topics list</li>
<li>Simplified breadcrumbs (forum navigation links)</li>
<li>Smilies/emoticons not replaced with images</li>
<li>User @tagging will not work</li>
</ul>
<h2>Member Directory</h2>
<ul>
<li>Latest activity post not shown</li>
<li>Add as a friend/Send Mail buttons disabled</li>
</ul>
<h2>Profile</h2>
<ul>
<li>Friends: Latest activity post not shown</li>
</ul>
<div>
<h1>Store uploads in database</h1>
</div>
<p>Okay, this is an important one, and probably tops the list in terms of support requests (so you’re not alone if you don’t understand it straight away!).</p>
<p>By default, WP Symposium will store forum images, profile images and the gallery images on the file system. Alternatively you can choose to store the in the database.</p>
<p>Which to use? Well, in terms of performance probably file system. But if you intend to load balance servers, then probably database. If you’re thinking, what the heck is load balancing, or something like you just don’t care, then select file system (i.e. don’t check this box to leave as file system).</p>
<p>If you’ve selected file system, then you have to extra options.</p>
<div>
<h1>Images Directory</h1>
</div>
<p>This is the internal server path to where your uploaded WP Symposium files are stored. If you’re not sure, hit the “Suggest” button, and WP Symposium will make a guess – and it’s generally spot on.</p>
<p>The path should point to a wps-content folder that is within your WordPress wp-content folder. So for example, for my local and default installation the path is:</p>
<p>/Users/simongoodchild/Sites/wp-content/wps-content</p>
<p>Your host will be able to help you work out the path to the root of your WordPress installation (<b>/Users/simongoodchild/Sites/ </b>in my example above) after which <b>wp-content/wps-content</b> is added on the end.</p>
<div>
<h1>Images URL</h1>
</div>
<p>This is the web address that points to the internal directory path you set above. Again a default value is entered when you install WP Symposium, and the “Suggest” button is usually spot on.</p>
<p>You don’t point in the website URL, just the path from the root of your website. So with my local installati0n, and example shown above, my value for this field is:</p>
<p>/wp-content/wps-content</p>
<div>
<h1>WPS images URL</h1>
</div>
<p>The WordPress plugin is installed in a folder called wp-symposium (which is inside /wp-content/plugins unless you’ve been playing around where WordPress puts things). So the path to the images folder will general be:</p>
<p>/wp-content/plugins/wp-symposium/images</p>
<p>Now you don’t have to worry about this setting unless you want to replace the images used by WP Symposium to make them match your website theme.</p>
<p>What you shouldn’t do is change the images in the above path as every time you upgrade WP Symposium your lovely new images will be replaced by those in the WP Symposium plugin.</p>
<p>Instead, change the above path to somewhere else, copy all the WP Symposium images into that folder, and change those images.</p>
<div>
<h1>Crop avatar images</h1>
</div>
<p>Select if you want your members to be able to crop images that are uploaded (select an area from the image), rather than just use the whole image.</p>
<p>Could also be disabled if you suffer from any plugin clashes with JCrop that is the jQuery library used for this feature.</p>
<div>
<h1>Image, Video and Document extensions</h1>
</div>
<p>The filename extensions that are allowed for images, videos and documents that are uploaded in the forum.</p>
<div>
<h1>Email notifications</h1>
</div>
<p>The footer that is appended to every email sent out from your site (except booking confirmation emails in the Events feature).</p>
<p>Also the email address that all emails are sent from your social network. Note, this only affects email sent from WP Symposium, not the whole of your WordPress installation.</p>
<div>
<h1>Mail subject lines</h1>
</div>
<p>You can tailor the subject line of emails sent from the Mail and Forum features here. Note that you can use [subject] that will automatically be replaced with the text of the mail subject, and [topic] that will automatically be replaced with the topic title on the forum.</p>
<div>
<h1>Width and Alignment</h1>
</div>
<p>The global settings for the width and alignment of WP Symposium features – or to be more precise the output they produce. If in doubt, set to 100% and Center. You can enter either specific pixels (e.g. 500px) or a percentage (e.g. 100%).</p>
<div>
<h1>Buttons on Activity pages</h1>
</div>
<p>If you want buttons to appear on profile activity pages, select this option. Without the button, hitting return will submit the content. Buttons are needed if you want to allow users to hit return within the content of the text box without submitting it!</p>
<h1>Use media manager</h1>
<p>Will switch from entering an image URL (when inserting an image) to a list of images in the WordPress media manager.</p>
<div>
<h1>Strip tags</h1>
</div>
<p>If you check this option, all content submitted to the database will be stripped of any HTML tag. If left unchecked, &lt; and &gt; are replaced with the HTML entity character for them so the appear but are not actually the &lt; and &gt; characters.</p>
<p>Note that the Bronze member WYSIWYG editor, if in use on the forums, will display tags, whatever you set here, but not interpret them.</p>
<div>
<h1>Allow reports</h1>
</div>
<p>If checked, a warning symbol appears on the forum and profile activity pages, allowing users to report content to the site administrator.</p>
<div>
<h2>Load WPS on every page</h2>
</div>
<p>By default, WP Symposium will not load scripts that it does not need, if a WP Symposium profile shortcode is not included in the page being displayed. I</p>
<p>If this is causing your site issues, you can force all the scripts to be loaded on every page by checking this option.</p>
<p>If the Panel is being used, the scripts will load on every page anyway, as the Panel will need them and it appears on every page.</p>
<div>
<h1>Admin Tabs</h1>
</div>
<p>The options within WP Symposium admin can either me a long menu list, or grouped and displayed as tabs. This won’t affect the front-end, this is purely for you as a site admin. It is recommended to tick this option.</p>
<div>
<h1>Debug mode</h1>
</div>
<p>If checked debug information is displayed across the site – not to be used by anyone other that WP Symposium developers, and certainly not on live sites.</p>
<div>
<h1>Disabling options</h1>
</div>
<p>There are a number of components, which whilst should be activated for WP Symposium, may cause clashes with other themes and/or plugins that have already loaded those components. So, as part of troubleshooting when you are having problems, you can individually disable them.</p>
<ul>
<li>jQuery</li>
<li>jQuery-UI</li>
<li>JSCharts and JCrop</li>
<li>Smilies and Emoticons</li>
<li>Elastic Textboxes</li>
</ul>
<p>If your site is working okay, don’t play with these settings, leave them be!</p>
<p>&nbsp;</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/03/wp-symposium-settings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release information for v13.04</title>
		<link>http://www.wpsymposium.com/2013/02/release-information-for-v13-04/</link>
		<comments>http://www.wpsymposium.com/2013/02/release-information-for-v13-04/#comments</comments>
		<pubDate>Thu, 28 Feb 2013 14:12:13 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[media manager]]></category>
		<category><![CDATA[wysiwyg editor]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2841</guid>
		<description><![CDATA[Ongoing status and information on the v13.04 release.]]></description>
				<content:encoded><![CDATA[<h1>Previous Release notes</h1>
<ul>
<li><a title="Release information for v13.02" href="http://www.wpsymposium.com/2013/01/release-information-for-v13-02/">v13.02</a></li>
<li><a title="Release information for v12.12" href="http://www.wpsymposium.com/2012/11/release-information-for-v12-12/">v12.12</a></li>
</ul>
<h1>Status</h1>
<p><strong>Current phase is: Testing Phase</strong></p>
<ul>
<li>Feature set scope complete (see below), but may change during development.</li>
<li>Development phase completed.</li>
<li>Testing phase started.</li>
<li>Final cleanup not yet complete.</li>
<li>Release date: Not set.</li>
<li>Admin Guide: Available <a title="Admin Guide" href="http://www.wpsymposium.com/admin-guide/">online</a>.</li>
</ul>
<p><em>To download the current release version, please read the manual upgrade instructions below.</em></p>
<p>Please see <a title="Release Schedule Update" href="http://www.wpsymposium.com/2012/09/release-schedule-update/">notes on the release schedule</a> for more information.</p>
<h1>Scope of v13.04</h1>
<p>A summary of the release changes is available in <a href="/wp-content/plugins/wp-symposium/release.txt" target="_blank">release.txt</a>.</p>
<p>_____Enhancements_____</p>
<p>CORE</p>
<p>* Replaced the file upload routine (Uploadify) to avoid use of Flash (modern browsers recommended)<br />
* File upload can now be used on iPhone, iPad, etc (as not using Flash)<br />
* Login prompts link to login page, with redirect back to referring page<br />
* New &#8220;Settings&#8221; option to switch WYSIWYG editor image dialog to use WordPress media manager images<br />
* Added audit function for developers (activate via Manage-&gt;Settings, analyse via Manage-&gt;Audit)<br />
* Added search to Manage-&gt;Forum Posts admin page (search the topic/reply post text)<br />
* Quickly change forum topic categories via Manage-&gt;Forum Posts admin page</p>
<p>PROFILE</p>
<p>* By default, profile page now uses a in-built layout (for theme compatibility)<br />
* Switch back to templates on Options-&gt;Profile (first option)<br />
* Moved horizontal tabs to be part of &#8220;Profile&#8221;, out of &#8220;Profile Plus&#8221; (in free version)<br />
* Changed default style of horizontal menu to &#8220;tabs&#8221; (can be styled, will post article on blog)</p>
<p>PROFILE PLUS</p>
<p>* Embed YouTube videos in activity (select via Options-&gt;Profile Plus)</p>
<p>FORUM</p>
<p>* New YouTube button on WYSIWYG editor toolbar</p>
<p>EVENTS</p>
<p>* Display global list of events as a calendar (select via Options-&gt;Events)</p>
<p>GROUPS</p>
<p>* By default, group page now uses in-built layout (for theme compatibility)<br />
* Switch back to templates on Options-&gt;Groups (first option)</p>
<p>MOBILE</p>
<p>* Completely overhauled, more improvements to come in future releases</p>
<p>_____Bug_Fixes_____</p>
<p>* Carriage returns on forum editing and replies (WPMS)<br />
* Font family/size dropdown list was not displaying when editing existing forum posts<br />
* Payment button was showing when no payment due on Events<br />
* Various minor miscellaneous fixes</p>
<h1>What you should do after upgrading</h1>
<p>To be sure of a clean upgrade, you should do the following after upgrading an existing WP Symposium installation:</p>
<ul>
<li>Visit the Installation page</li>
<li>If you don&#8217;t want the inbuilt profile/group page templates (and use the custom templates), select them on the Options-&gt;Profile and Options-&gt;Group settings.</li>
<li>If you&#8217;re using the <a href="http://www.wpsymposium.com/2012/02/wp-symposium-cubepoints-module/">CubePoints WP Symposium module</a>, update to the <a href="http://www.wpsymposium.com/2012/02/wp-symposium-cubepoints-module/">latest version</a>.</li>
<li>If using custom templates and you&#8217;re experiencing problems, reset your templates. Don&#8217;t forget to save them!</li>
</ul>
<h1>Profile and Group page now uses in-built layout</h1>
<p>To improve the issue of compatibility with themes, by default an in-built layout is now used for the profile page. If you are using templates, no problem, re-activate them for the profile page on Options-&gt;Profile, and on the Options-&gt;Groups, and you can continue as before</p>
<h2>Profile Page &#8220;tabs&#8221; (horizontal) menu styles</h2>
<p>This has been changed to reflect tabs, as used on the Mail page, etc. You can re-style easily, by putting your own styles in Styles-&gt;CSS, here&#8217;s an example (with some awful colors) as an example:</p>
<pre>/* Top level */
ul.__wps__dropdown li {
    background-color: red !important;
    color: white !important;
    width: 100px !important;
    font-family: courier !important;
    font-size: 18px !important;
    border: 0 !important;
    border-radius: 3px !important;
}
ul.__wps__dropdown li:hover {
    background-color: orange !important;
}

/* Second level */
ul.__wps__dropdown li li {
    background-color: green !important;
    width: 200px !important;
    color: yellow !important;
    font-family: helvetica,arial !important;
    font-size: 14px !important;
    border: 0 0 1px 0 !important;
    border-radius: 3px !important;
}
ul.__wps__dropdown li li:hover {
    background-color: blue !important;
    color: white !important;
}

#__wps__menu_tabs_wrapper {
    display: none;
}

ul.__wps__dropdown li.__wps__dropdown_tab_on { background-color: pink !important;}
ul.__wps__dropdown li.__wps__dropdown_tab_off { background-color: yellow !important; }

/* Line below the tabs, hide it */
#__wps__menu_tabs_wrapper { display:none; }</pre>
<h1>Inserting images into the WYSIWYG editor</h1>
<p>From v13.04 NB7, there is a new setting under Manage-&gt;Settings that allows you to change the TinyMCE editor &#8220;image&#8221; toolbar button.</p>
<p>You can instead select an image from the WordPress media library, via a dropdown list. So you would first upload your image to the WordPress media library (via WordPress admin), and can then select it for use in the editor.</p>
<p>This is useful for site editors who want to include images in, for example, in an Event &#8220;more information&#8221;, but do not want to link to an image elsewhere and/or FTP images to their server.</p>
<p>I would suggest that site admins exclude &#8220;image&#8221; from the WYSIWYG toolbars on the forum options (as users should be attaching images anyway, rather than linking to them elsewhere) &#8211; but the button will always show on the events editor for use, whether you are linking via a URL or using images from the media manager.</p>
<h2>Adding YouTube button for profile activity</h2>
<p>Part of Profile Plus, simply activate on the Options-&gt;Plus.</p>
<h2>Adding YouTube button to the WYSIWYG editor</h2>
<p>You can select which buttons are on the WYSIWYG editor tool bar in Options-&gt;Forum. Reset to full or minimal and you will see &#8220;youtubeIframe&#8221; added to the list of buttons. Or add &#8220;youtubeIframe&#8221; manually to your list of buttons.</p>
<h1>How to manually upgrade to a release candidate</h1>
<p>It is very important (actually vital) when manually installing (or installing a release candidate), to:</p>
<ol>
<li>take a backup of your current wp-symposium plugin folder and database (&#8220;just in case&#8221;)</li>
<li>delete the current wp-symposium plugin folder via FTP - <strong>do not delete via WordPress admin-&gt;<strong>Plugins-&gt;Installed Plugins</strong> as this will delete all your WP Symposium content!!!</strong></li>
<li>upload the contents of the <a href="/downloadinstall">download</a> into your plugins folder (so that you have new wp-symposium folder with everything of inside of it and not old files hanging around)</li>
<li>re-activate the single WP Symposium plugin</li>
</ol>
<p>If you are manually installing the same version<strong> (ie. you are installing a newer release candidate, for example)</strong>, then you can skip steps 1 and 2. If you are upgrading from v12.10 to v12.11 (for example), then you should perform steps 1 and 2.</p>
<p>The download version is suffixed with NB for nightly build during development phase, or RC for release candidate during testing phase. If no suffix, current download is the same as available via <a href="http://wordpress.org/extend/plugins/wp-symposium/" target="_blank">wordpress.org</a>.</p>
<h1>Upgrading via WordPress admin</h1>
<p><em>Note: this is only applicable to the live release.</em></p>
<div>When you upgrade, you <em>must</em> do the following:</div>
<div></div>
<div>
<ol>
<li>As always recommended by WordPress, backup your site/database so you can rollback if you have to. There are <a href="http://wordpress.org/extend/plugins/search.php?q=backup" target="_blank">numerous plugins</a> to help you.</li>
<li>After upgrading, make sure that the single WP Symposium plugin is activated on your WordPress plugins page.</li>
<li>And then go to your installation page and activate the &#8220;features&#8221; (previously separate plugins) required. <strong><em>If using WordPress multi-site</em></strong>, network activate those &#8220;features&#8221; that you want all of your sites to have automatically activated, leaving the rest of the site admin&#8217;s to activate themselves</li>
<li>Finally, reset the Profile Page Header template (WP Symposium-&gt;Manage-&gt;Templates) and re-save. <strong><em>If using WordPress multi-site</em></strong>, you can update all your sites at once (checkbox beside save button).</li>
</ol>
</div>
<h1>Reporting errors</h1>
<p>A dedicated <a href="/discuss/bug-reports-for-v1304/">forum area</a> is available to report bugs found with this release.</p>
<h1>Admin Guide</h1>
<p>The admin guide has been updated to cover the current download, including the new way of activating WP Symposium features (previously plugins). It&#8217;s available as a PDF to <a href="https://dl.dropbox.com/u/49355018/wps.pdf" target="_blank">download</a> (19MB), but is being moved to an <a title="WP Symposium admin guide" href="http://www.wpsymposium.com/admin-guide">online version</a>.</p>
<h1>Support non-English languages</h1>
<p>Is your site German? You should pop over to <a href="http://www.wpsymposium.com/group/?gid=9">Thomas&#8217;s German group</a>, which includes support for translations into German.</p>
<h1>Previous Versions</h1>
<p>Older versions of WP Symposium are available at the bottom of the <a href="/downloadinstall">download</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/02/release-information-for-v13-04/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Add login/logout automatically to WordPress menu</title>
		<link>http://www.wpsymposium.com/2013/02/add-loginlogout-automatically-to-wordpress-menu/</link>
		<comments>http://www.wpsymposium.com/2013/02/add-loginlogout-automatically-to-wordpress-menu/#comments</comments>
		<pubDate>Thu, 28 Feb 2013 12:36:30 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[menu]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2837</guid>
		<description><![CDATA[How to automatically add a login/logout menu item to WordPress.]]></description>
				<content:encoded><![CDATA[<p>On www.wpsymposium.com a menu item is shown as Login or Logout. This menu item is automatically added to the menu and not part of the custom menu.</p>
<h2>Why would you want to do this?</h2>
<p>Possible scenarios include:</p>
<ol>
<li><span style="line-height: 13px;">You are not using a custom menu (just the default WordPress menu)</span></li>
<li>You don&#8217;t want a separate menu for logged in and logged out users when using custom menus</li>
<li>You don&#8217;t want to have to worry about adding it yourself!</li>
</ol>
<h2>How to do it?</h2>
<p>Simply copy the following into your theme&#8217;s functions.php file:</p>
<pre>// Add login and logout to custom menu automatically
function __wps__add_nav_menu_items( $items, $args ) {
  global $current_user;
  if ( is_user_logged_in() ) {
    $items .= '&lt;li id="menu-item-logout" class="menu-item menu-item-logout"&gt;&lt;a href="'.esc_url( home_url( '/' ) ).'wp-login.php?action=logout"&gt;'.__('Logout', WPS_TEXT_DOMAIN).'&lt;/a&gt;&lt;/li&gt;';
  } else {
    $items .= '&lt;li id="menu-item-login" class="menu-item menu-item-login"&gt;&lt;a href="'.esc_url( home_url( '/' ) ).'wp-login.php?redirect_to='.urlencode($_SERVER['REQUEST_URI']).'"&gt;'.__('Login', WPS_TEXT_DOMAIN).'&lt;/a&gt;&lt;/li&gt;';
  }
  return $items;
}
add_filter('wp_nav_menu_items','__wps__add_nav_menu_items', 10, 2)</pre>
<pre>// Add login and logout to default WordPress menu
function __wps__add_page_nav_menu_items( $items, $args ) {
  $items = str_replace('&lt;/ul&gt;&lt;/div&gt;', '', $items);
  global $current_user;
  if ( is_user_logged_in() ) {
    $items .= '&lt;li id="page-item-logout" class="page-item page-item-logout"&gt;&lt;a href="'.esc_url( home_url( '/' ) ).'wp-login.php?action=logout"&gt;'.__('Logout', WPS_TEXT_DOMAIN).'&lt;/a&gt;&lt;/li&gt;';
  } else {
    $items .= '&lt;li id="page-item-login" class="page-item page-item-login"&gt;&lt;a href="'.esc_url( home_url( '/' ) ).'wp-login.php?redirect_to='.urlencode($_SERVER['REQUEST_URI']).'"&gt;'.__('Login', WPS_TEXT_DOMAIN).'&lt;/a&gt;&lt;/li&gt;';
  }
  $items .= '&lt;/ul&gt;&lt;/div&gt;';
  return $items;
}
add_filter( 'wp_page_menu', '__wps__add_page_nav_menu_items', 10, 2 );</pre>
<h2>How does it work?</h2>
<p>There are two functions here, each used with a WordPress filter:</p>
<ol>
<li><span style="color: #333333; font-style: normal;">__wps__add_nav_menu_items (wp_nav_menu_items filter)</span></li>
<li><span style="color: #333333; font-style: normal;">__wps__add_page_nav_menu_items (wp_page_menu filter)</span></li>
</ol>
<h2>Adding to the custom menu</h2>
<p>If a custom menu has been set up, the first function, called by using the wp_nav_menu_items filter will append either a Login or Logout menu item. Feel free to change the hyperlink if you want the menu item to go somewhere else. The check for is_user_logged_in() will determine whether Login or Logout is added. Note that the redirect parameter will take the user back to where they came from.</p>
<p>If you want to change the position on the menu, you will need to play around with how the HTML string ($items) is parsed.</p>
<h2>Adding to the default WordPress menu</h2>
<p>This is used when there is no custom menu, and therefore uses a different filter (wp_page_menu). It also has to parse the menu HTML as it differs slightly. Again, feel free to change the URL of the hyperlinks added if you want. Note that the redirect parameter will take the user back to where they came from here too.</p>
<p>Again, if you want to change the position, you will need to change how the HTML string ($items) is parsed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/02/add-loginlogout-automatically-to-wordpress-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The WP Symposium admin guide</title>
		<link>http://www.wpsymposium.com/2013/01/the-wp-symposium-admin-guide/</link>
		<comments>http://www.wpsymposium.com/2013/01/the-wp-symposium-admin-guide/#comments</comments>
		<pubDate>Wed, 23 Jan 2013 21:54:29 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2773</guid>
		<description><![CDATA[For a complete list of admin guide chapters and each of their contents, please go to http://www.wpsymposium.com/admin-guide or see the contents page via the link above.]]></description>
				<content:encoded><![CDATA[<p>For a complete list of admin guide chapters and each of their contents, please see the <a title="WP Symposium admin guide." href="http://www.wpsymposium.com/admin-guide">contents page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/01/the-wp-symposium-admin-guide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing the Profile Page header layout</title>
		<link>http://www.wpsymposium.com/2013/02/changing-the-profile-page-header-layout/</link>
		<comments>http://www.wpsymposium.com/2013/02/changing-the-profile-page-header-layout/#comments</comments>
		<pubDate>Thu, 14 Feb 2013 13:42:43 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[profile page]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2822</guid>
		<description><![CDATA[Use some simple CSS to change the layout of the Profile Page header.]]></description>
				<content:encoded><![CDATA[<p>You can use some simple CSS to change the layout of the profile page header.</p>
<p>As this may depend on your site theme and other plugins, the CSS may vary, but below is an example of CSS that have been tested with the TwentyTwelve theme.</p>
<p>So, you may need to tweak the CSS to match your site, but have fun giving it a go! Just copy and paste the CSS into WordPress admin-&gt;Symposium-&gt;Styles-&gt;CSS.</p>
<h2>TwentyTwelve Theme</h2>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/02/Screen-Shot-2013-02-14-at-13.44.13.png"><img class="aligncenter size-full wp-image-2825" alt="WP Symposium Profile Page Header example" src="http://www.wpsymposium.com/wp-content/uploads/2013/02/Screen-Shot-2013-02-14-at-13.44.13.png" width="600" height="224" /></a></p>
<pre>/* Profile header */

#profile_header_div {
    min-height:200px;
}

#profile_photo {
    position: relative;
    margin-left:400px;
}

#profile_photo .avatar {
    transform:rotate(7deg);
    -ms-transform:rotate(7deg); /* IE 9 */
    -moz-transform:rotate(7deg); /* Firefox */
    -webkit-transform:rotate(7deg); /* Safari and Chrome */
    -o-transform:rotate(7deg); /* Opera */
    position: absolute;
    right:0;
    top:10px;
    width: 160px !important;
    height: 160px !important;
    border: 8px solid #efefef !important;
    border-radius: 0 !important;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
}

#profile_name {
    margin-bottom:0 !important;
}

#profile_details {
    clear:both;
    margin-left:0 !important;
} 

#profile_label {
    clear: both;
    margin-bottom:10px !important;
    margin-top: 10px !important;
}

.__wps__profile_page_header_ext_value {
    max-width:300px;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/02/changing-the-profile-page-header-layout/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Try this first!</title>
		<link>http://www.wpsymposium.com/2013/01/try-this-first/</link>
		<comments>http://www.wpsymposium.com/2013/01/try-this-first/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 00:55:53 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2699</guid>
		<description><![CDATA[Got a problem? Try this first!]]></description>
				<content:encoded><![CDATA[<p>If you are having problems with WP Symposium, the following is the first thing to try, and probably the best way to work out where the problem lies. Around 98.275% of problems are solved this way.</p>
<p>Most problems appear with one of the following, or something similar:</p>
<ul>
<li>the Panel isn’t showing friends online, or</li>
<li>the flashing “please wait” image just keeps flashing and nothing is displayed.</li>
</ul>
<p>This suggests that there is a problem with Javascript on your site.</p>
<h1>Make sure you have the latest version installed</h1>
<p>With every release, bug fixes if needed will be included. Keep your version up to date (it’s also hard to support older versions of code…..). The latest version can be found on the<a href="http://www.wpsymposium.com/downloadinstall">download page</a>.</p>
<h1>Install Firefox/Firebug</h1>
<p>Make sure you are using the <a href="http://www.mozilla.com/" rel="nofollow">Firefox</a> browser, with the <a href="https://addons.mozilla.org/en-US/firefox/addon/firebug" rel="nofollow">Firebug</a> add-in installed and enabled – it will tell you if there is a Javscript error and where the error is.</p>
<h1>Steps to follow</h1>
<ol>
<li>First visit the Installation page to make sure the internal settings are updated</li>
<li>Change your theme to TwentyEleven</li>
<li>De-activate all non-WP Symposium Plugins</li>
<li>Does it now work?</li>
<li>If it does, re-activate your plugins one at a time, testing after each one is re-activated – when things stop working you’ve found a plugin that is clashing</li>
<li>If all your plugins re-activate and you are still okay, change your theme back – does the problem now occur?</li>
</ol>
<p>At some point in the above process, Firefox/Firebug may tell you that your have a Javscript error. An example of a common error is something like:</p>
<p><strong>.autocomplete is not a function</strong></p>
<p>The problem is that a plugin or your theme is loading a version of jQueryUI that does not include a function (autocomplete in this example). It may be a different function, but the above is quite common.</p>
<p>Using any plain text editor find out where in your plugin or theme jQueryUI is being loaded by searching the .php files in your plugin folder (under wp-content/plugins) for “jquery-ui”. Then comment out the line with two backslashes at the start of the line (//) and save the file. WP Symposium can then load the latest version of jQueryUI with an up-to-date set of functions.</p>
<p>For example, the file being loaded will look something like the following (although with an older version number):</p>
<p><strong>jquery-ui-1.8.11.custom.min.js</strong></p>
<h1>Duplicate WP Symposium plugins</h1>
<p>Easy to solve, follow <a href="http://www.wpsymposium.com/2012/04/important-to-remember-when-upgrading-to-v12-04-28/" rel="nofollow">these instructions</a> on the WP Symposium blog.</p>
<h1>Permissions</h1>
<p>Some web servers can be tight on the correct permissions of files and folders. For example, “page not found” can be reported if permissions are not correct (either too secure or not secure enough).</p>
<p>This is just a quick overview, read more about <a href="http://ag.arizona.edu/ecat/web/permissions.html" rel="nofollow">server permissions</a>, <a href="http://www.statslab.cam.ac.uk/~eva/unixinfo/ls.html" rel="nofollow">ls</a> and <a href="http://www.perlfect.com/articles/chmod.shtml" rel="nofollow">chmod</a>.</p>
<p>To see if you are getting the “page not found” problem, use Firefox with the Firebug plug-in installed and on the Console screen you will see red error saying “page not found” when the files are actually there.</p>
<p>Using an FTP client or command line access, check that plugin .php, .js and .css files (all files) are 644 (that means readable and writeable by your site admin, readable by groups and others). Folders (directories) should be 755 (that means readable, writeable and executable by your site admin, readable and executable by groups and others).</p>
<p>When copying files to your server, they may have been set as 777. This will cause problems with access (pages reported as “page not found”) and is very insecure for your site.</p>
<p>Each FTP client will allow you to check and change permissions in a different way. Read about how to use <a href="http://www.ecardmax.com/index.php?step=chmod" rel="nofollow">FTP clients</a> to change file permissions.</p>
<p>If using a Unix (Linux, Ubuntu, Redhat, etc) server you can check permissions with the command “ls -l” – you are looking for the left column which will look like “-rw-r–r–” for files (which represents). If they are “-rwxrwxrwx” they are 777. To change them to 644 enter the command “chmod 644 *.php” or “chmod 644 *.js” (for example). To change folders, use the command “chmod 755 ajax” (for example to change the permissions on the ajax folder).</p>
<p>You can also recursively change permissions. Go to your plugins folder and use the following commands:</p>
<p>find . -name \*.js -type f -print -exec chmod 644 {} \;<br />
find . -name \*.php -type f -print -exec chmod 644 {} \;<br />
find . -name \*.css -type f -print -exec chmod 644 {} \;<br />
find . -type d -print -exec chmod 755 {} \;</p>
<h1>Windows Permission</h1>
<p>You need to give “Write” permission to your plugins directory.</p>
<p>This must also be done for your images and temp directory. If using IIS7 the users requiring permission are: IUSER, IIS_USER, and NETWORK SERVICE.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/01/try-this-first/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting and installing WP Symposium</title>
		<link>http://www.wpsymposium.com/2013/01/getting-and-installing-wp-symposium/</link>
		<comments>http://www.wpsymposium.com/2013/01/getting-and-installing-wp-symposium/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 00:59:44 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2639</guid>
		<description><![CDATA[Getting hold of WP Symposium and adding it to your site.]]></description>
				<content:encoded><![CDATA[<p><em>Note: this post is applicable up to the version running at www.wpsymposium.com (see footer of any web page)</em></p>
<h1>Assumptions</h1>
<p>I’m going to make the following assumptions:</p>
<ul>
<li>You have the latest version of WordPress installed somewhere and you can login as an administrator</li>
<li>You know your administrator username and password</li>
<li>Your WordPress installation has access to the internet (you’re not sitting in a coal mine)</li>
<li>You are reasonably okay using websites and know how to navigate around the WordPress admin dashboard (but don’t worry if you’re not an expert, you don’t need to be)</li>
<li>You are using a single-install version of WordPress (ie. not multi-site, please see the Multi-site chapter for more information if you are).</li>
<li>You are using the TwentyEleven theme and no other plugins (you can keep Hello Dolly and Akismet as they come with WordPress.</li>
</ul>
<h1>Getting and Installing</h1>
<p>The most straightforward way to install WP Symposium is via the WordPress admin dashboard. Go to Plugins -&gt; Add New and do a search for Symposium.</p>
<p>This will allow you to search all of the plugins currently stored on the WordPress repository. There are a lot. I mean a lot!</p>
<p>Right now, this is the current count:</p>
<p align="center"><strong>22,735</strong><b> </b>PLUGINS,<b> </b><strong>385,483,269</strong><b> </b>DOWNLOADS, AND COUNTING</p>
<p>Now that’s a log of plugins, and a lot of downloads. It’s one of the reasons why WordPress is so popular. If you’re particularly interested, you can get the latest number for the above at <a href="http://wordpress.org/extend/plugins">http://wordpress.org/extend/plugins</a>!</p>
<p>So doing a search for symposium, you get the following results (or something very similar):</p>
<p><img alt="install_plugins" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/install_plugins.png" width="931" height="523" /></p>
<p>You want to click on Install Now, and WP Symposium will be downloaded and installed into your WordPress installation. When downloaded, go ahead and activate the plugin.</p>
<p><img alt="activate_plugins" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/activate_plugins.png" width="922" height="369" /></p>
<p>The first time you install WP Symposium, it creates a bunch of tables in your database and so takes a little longer. Upgrading doesn’t take so long. After activating, you will be returned to the WordPress dashboard.</p>
<p>Whenever you install or upgrade WP Symposium a welcome message is shown saying hello, and reminding you to visit the installation page to complete the installation/upgrade, along with some other helpful information that you can read now or later. Click on the “Dismiss” button to hide the welcome and visit the installation page.</p>
<p>You can re-display the welcome message at any time via the menu item WP Symposium -&gt; Welcome/help message.</p>
<p><img alt="welcome_message" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/welcome_message.png" width="896" height="374" /></p>
<h1> Your first step after installation</h1>
<p>Your installation page verifies your WP Symposium installation, and allows you to set up pages within your social network.</p>
<p>The installation page is divided into three main areas:</p>
<ol>
<li>The activated features (and activate those you want)</li>
<li>The activation code</li>
<li>A set of tools to help check your installation</li>
</ol>
<h1>The activation code</h1>
<p>This is not something you need to worry about at the moment. If and when you decide to use certain WP Symposium bronze features, to avoid having a polite notice shown at the top of your website, you will need to enter an activation code.</p>
<p>See the chapter on Bronze membership for more information.</p>
<h1>The Activated Features</h1>
<p>After your initial installation, you will have no features activated. This is normal. We need to activate some of the WP Symposium features so they can be used on your website. So&#8230;</p>
<h2>Activating WP Symposium features</h2>
<p>Go the your WP Symposium Installation page, via the admin dashboard menu -&gt; WP Symposium -&gt; Installation. You will see a number of features, some of them in a section marked “Bronze member features”.</p>
<p>If you are using a brand new WordPress installation, your list will probably look something like that shown below. <img alt="activating_features" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/activating_features.png" width="865" height="486" /></p>
<p>The only feature activated is the “core” (which is always activated), which is all well and good, but won’t allow you to do anything. So we need to activate some of the others. We are going to focus on the basic features just for now, so click check “Activate” for the following and click on Update.</p>
<ul>
<li>Profile</li>
<li>Forum</li>
<li>Members Directory</li>
<li>Mail</li>
</ul>
<p><img alt="activating_features_2" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/activating_features_21.png" width="610" height="375" /></p>
<p>Those four features will allow you to get your social network up and running.</p>
<p>So we now need to add them to our website.</p>
<h1>Adding WP Symposium features to your website</h1>
<p>WP Symposium features are added to WordPress pages. With a clean WordPress install there are no pages that currently exist (other than the Sample page). Hence the drop down lists that are shown beside each WPS feature only has Sample page listed.</p>
<p>That’s fine; we are going to create a new page for each of our WP Symposium features.</p>
<p>To do that, click on the New Page button beside Forum.</p>
<p><img alt="new_page" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/new_page.png" width="656" height="400" /></p>
<p>This will instruct WordPress to go away, create a new page, and put the shortcode <strong>[</strong>symposium-forum<strong>]</strong> on to that page. It happens quickly and then your list of WPS features will look like this.</p>
<p><img alt="URL_found" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/URL_found.png" width="822" height="264" /></p>
<p>Note that the New Page button (and drop-down list) has been replaced with a link to your new page, and an [Edit] link allows you to edit the page that was created.</p>
<p>Also notice that the status column to the right shows that WP Symposium has updated it’s internal reference to the new page. That’s a good thing as it’s used elsewhere throughout WP Symposium, not that you need to worry about that.</p>
<p>So, let’s take a look at the page that was created. Click on the Edit link as shown below.</p>
<p><img alt="edit_link" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/edit_link.png" width="735" height="244" /></p>
<p>You will be taken to the WordPress page edit screen, where you can see the shortcode has been entered for you (for the forum in this example).</p>
<p><img alt="edit_page_from_link" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/edit_page_from_link.png" width="765" height="537" /></p>
<h1>Removing WP Symposium from a page</h1>
<p>If you followed the previous section, you will be looking at a new WordPress page with the WP Symposium forum shortcode in its content.</p>
<p>If not, then get to one of your existing WordPress pages with a WP Symposium shortcode in the content, and we will carry on together!</p>
<p>To remove the forum from this page, simply remove the <strong>[</strong>symposium-forum<strong>]</strong> shortcode and click on Update.</p>
<p>Now, what you must do, which is very important whenever you remove or manually add a WP Symposium shortcode to a page is re-visit the WP Symposium -&gt; Installation page.</p>
<p>When you re-visit the page, you can see that WP Symposium has updated its internal information with the change your made, and that you are now prompted once again to add the forum to a new or existing page.</p>
<p><img alt="updated" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/updated.png" width="758" height="249" /></p>
<h1>Completing the initial set of pages</h1>
<p>Having added the forum in the previous section – go back and do it if you skipped ahead! – we can now add the other features. On the WP Symposium -&gt; Installation page click on the Add New button for each of the remaining features so you end up with a list similar to the following.</p>
<p>Note that I’ve tidied up my Permalinks. See the next chapter “Tidying up your WordPress installation”.</p>
<p><img class="aligncenter size-full wp-image-2641" alt="add_more_features" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/add_more_features.png" width="867" height="347" /></p>
<p>You now have all four features (forum, profile, mail and member directory) set up and ready to use.</p>
<p>Go to your website and marvel at your creation. Your home page will probably be set to the blog, like WordPress does, we’ll tidy that up in the next section.</p>
<p>But your menu should look like this.</p>
<p><img class="aligncenter size-full wp-image-2643" alt="menu" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/menu.png" width="819" height="164" /></p>
<p>Clicking on Forum, Mail, Members and Profile and you should see your social network come to life!</p>
<p>Well, with you as the only member it’s not exactly kicking with activity yet, but the building blocks are now in place. Also bear in mind that the screenshots below may not match exactly with yours as there are changes from time to time, but you get the idea.</p>
<p>Pat yourself on the back.</p>
<p><img class="aligncenter size-full wp-image-2644" alt="Screen Shot 2013-01-21 at 18.07.02" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/Screen-Shot-2013-01-21-at-18.07.02.png" width="460" height="368" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/01/getting-and-installing-wp-symposium/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tidying up your WordPress installation</title>
		<link>http://www.wpsymposium.com/2013/01/tidying-up-your-wordpress-installation/</link>
		<comments>http://www.wpsymposium.com/2013/01/tidying-up-your-wordpress-installation/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 00:58:12 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2655</guid>
		<description><![CDATA[A few tips and tricks to tidy up your default WordPress installation.]]></description>
				<content:encoded><![CDATA[<p><em>Note: this post is applicable up to the version running at www.wpsymposium.com (see footer of any web page)</em></p>
<p>Branching out a bit here, as this isn’t really about WP Symposium, but more about WordPress itself. However, it will make your WP Symposium installation a little more conducive to a social network.</p>
<div>
<h1>Changing Permalinks</h1>
<p>By default, WordPress doesn’t use pretty permalinks, so you end up with your pages looking something like <a href="http://www.example.com/?page_id=6">http://www.example.com/?page_id=6</a> &#8211; this is just ugly, and doesn’t really help your users know where they are. Far nicer would be to have something like <a href="http://www.example.com/profile">http://www.example.com/profile</a>.</p>
<p>Go to Settings -&gt; Permalinks (on the WordPress admin dashboard). From the list of options shown, select one you prefer, except the top one, and click on Save Changes.</p>
<p>Now return to the WP Symposium -&gt; Installation page and you will see that your features are installed on pages with far nicer web addresses (URLs and WP Symposium as updated it’s internal information.</p>
<p><img class="aligncenter size-full wp-image-2660" alt="permalinks" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/permalinks.png" width="815" height="328" /></p>
<p>WP Symposium has also updated its internal information with the new permalinks.</p>
<div>
<h1>Adding a menu</h1>
<p>WordPress comes with a rather snazzy menu system, ready to use. So (remembering that I’m assuming you’re using TwentyEleven theme), let’s add a menu.</p>
<p>Not all themes are compatible with the WordPress menu, although most are, and obviously the theme that comes with WordPress (TwentyEleven) is.</p>
<p>So in WordPress admin dashboard, go to Appearance -&gt; Menus.</p>
<p>First of all we need to create a new menu, that we will add items to. So in the screen you’re looking at enter the name for your menu. I’m going to be really creative and call mine “Menu”, ahem. Then hit the “Create Menu” button.</p>
<p><img class="aligncenter size-full wp-image-2661" alt="menu" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/menu1.png" width="729" height="377" /></p>
<p>Now, associate your menu (yep, you can have more than one) with the primary menu, it’s done in the top-left box. Then click on Save.</p>
<p><img class="aligncenter size-full wp-image-2662" alt="menu2" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/menu2.png" width="407" height="306" /></p>
<p>Nothing much changes after clicking save – well, nothing at all – but you can now start to add your WordPress pages to your menu. First select Members, Mail, Profile and Forum from the Pages box, and click on “Add to menu”.</p>
<p><img class="aligncenter size-full wp-image-2663" alt="menu3" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/menu3.png" width="475" height="404" /></p>
<p>The pages you selected will then appear in the larger box to the right. Drag and drop them to change their order to one you prefer, and click on “Save Menu”. Note that you can drag menu items underneath other menu items – they will be second level menus that drop down from the top level. Cool!</p>
<p><img class="aligncenter size-full wp-image-2664" alt="menu4" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/menu4.png" width="751" height="555" /></p>
<p>Now you have created a menu, and added pages to it.</p>
<p>You can add more pages, as you create them, to your menu at any time by re-visiting this page at Appearance -&gt; Menus.</p>
<p>But for now, go back to your site to check out your new menu.</p>
<p><img class="aligncenter size-full wp-image-2665" alt="menu5" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/menu5.png" width="922" height="787" /></p>
<div>
<h1>Removing the Header Image</h1>
<p>Okay, so it’s pretty, but very soon you get to realize that the large header image takes up a lot of your screen, meaning you have to scroll down to the content. Bit of a no-no though in terms of usability.</p>
<p>So, to remove the header image, via the WordPress admin dashboard go to Appearance -&gt; Header.</p>
<p>Lots of nice options, but to remove it simply click on the “Remove Header Image” button and job done. Visit your site to see how more content is shown.</p>
<p><img class="aligncenter size-full wp-image-2666" alt="header1" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/header1.png" width="921" height="483" /></p>
<div>
<h1>Changing the Home Page</h1>
<p>By default, WordPress’s home page is the blog page. Great if you are running a blog, but no so great if you are running a social network.</p>
<p>Let’s assume for now that you want a welcome page, a true “home page”.</p>
<p>First create a new page via Pages -&gt; Add New. Put in any old content for now, you can always go back and work on it (and trust me, you will!).</p>
<p>Then go to Settings -&gt; Reading.</p>
<p>The first option “Front page displays” allows you to switch from your latest blog posts to a static page. This is what you want. Change the Front page to your newly created home page and click on Save.</p>
<p>If you intend to have a blog on your site too, create a page for that and select that new page in the other drop down list.</p>
<p><img class="aligncenter size-full wp-image-2667" alt="homepage1" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/homepage1.png" width="475" height="263" /></p>
</div>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/01/tidying-up-your-wordpress-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP Symposium Multi-site</title>
		<link>http://www.wpsymposium.com/2013/01/wp-symposium-multi-site/</link>
		<comments>http://www.wpsymposium.com/2013/01/wp-symposium-multi-site/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 00:57:51 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2678</guid>
		<description><![CDATA[Things to consider when running WP Symposium on WordPress Multi-Site.]]></description>
				<content:encoded><![CDATA[<p>If you are using WP Symposium on multi-site there are a few things to note:</p>
<ul>
<li>As the network super admin user, you can “network activate” each the features</li>
<li>The forums are specific to each site in your network, everything else is shared among them</li>
<li>If you enter a Bronze activation code, it will apply to all of your sites</li>
<li>Site admins do not see the activation code input area, or the network activation column</li>
</ul>
<div>
<h1>Network Activation</h1>
<p>If you log in to any of your sites, and visit the Installation page when logged in as the network super admin user, there is an additional column with which you can activate any of the WP Symposium features for all your networked sites:</p>
<p><img class="aligncenter size-full wp-image-2679" alt="wpms1" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/wpms1.png" width="868" height="349" /></p>
<p>When a feature is network activated, if is automatically activated on every site on your network – in face they can’t be de-activated. Similar to WordPress plugins that are network activated.</p>
<p>For any features that are network activated, a green “tick” is shown in place of the checkbox.</p>
<p>Any features that are not network activated can be activated and de-activated by the site admin’s as they choose whether they want to use them on not on their site.</p>
<p><img class="aligncenter size-full wp-image-2679" alt="wpms1" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/wpms1.png" width="868" height="349" /></p>
</div>
<div>
<h1>Updating templates</h1>
<p>Please be sure to refer to the Templates section of this guide to understand how templates can be saved across the entire network.</p>
<div>
<h1>Extended profile fields</h1>
<p>When adding extended fields, as WordPress stores users once (across all sites of a network), it’s important to note, that extended fields apply to all sites across a network. So if an extended field is added to one site, it will also appear on other sites.</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/01/wp-symposium-multi-site/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WP Symposium Installation Page</title>
		<link>http://www.wpsymposium.com/2013/01/wp-symposium-installation-page/</link>
		<comments>http://www.wpsymposium.com/2013/01/wp-symposium-installation-page/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 00:56:09 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2685</guid>
		<description><![CDATA[The meaning of the WP Symposium Installation page.]]></description>
				<content:encoded><![CDATA[<p>The installation page is important for the following reasons:</p>
<ul>
<li>It allows you to activate the various features (profile, forum, groups, etc)</li>
<li>It verifies your installation</li>
<li>It updates internal WP Symposium information on “where” your components are.</li>
</ul>
<p>The third point is very important. <b>Always re-visit the installation page after adding, removing or changing a WP Symposium shortcode. For example, if you manually add a shortcode, or manually remove a shortcode to/from a WordPress page, re-visit the Installation page.</b></p>
<div>
<h1>Activation Code</h1>
<p>The WP Symposium plugin is downloaded from the WordPress repository.</p>
<p>All of the features can be used on your site, so you can verify that it is compatible, and see if you want to use the features that are for Bronze members subscribed at <a href="http://www.wpsymposium.com">www.wpsymposium.com</a>.</p>
<p>All the core functionality is provided for free, and always will be. The extra features are for Bronze members.</p>
<p>Until you enter a Bronze member activation code, a polite notice will be shown at the top of your website until you do. But you can check them out, and see if you want to subscribe.</p>
<p>The features that are for Bronze members are shown clearly on the WordPress -&gt; Installation page.</p>
<p><img class="aligncenter size-full wp-image-2686" alt="install1" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/install1.png" width="846" height="204" /></p>
<p>Assuming you are already a Bronze member at <a href="http://www.wpsymposium.com">www.wpsymposium.com</a>, login there and go to <a href="http://www.wpsymposium.com/membership">www.wpsymposium.com/membership</a> or select Activation Code from the Profile menu.</p>
<p><img class="aligncenter size-full wp-image-2687" alt="install2" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/install2.png" width="922" height="352" /></p>
<p>At the top of the page, you will see an activation code that you can copy and paste into the Activation field on the Installation page.</p>
<p><img class="aligncenter size-full wp-image-2688" alt="install3" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/install3.png" width="774" height="359" /></p>
<p>Note that the activation code lasts for 365 days. You can return at any point during those 365 days to get a new activation code.</p>
<p>If you cancel your bronze membership, your activation code will continue to work until it expires but you won’t be able to obtain a new one.</p>
<div>
<h2>Upgrading to Bronze Membership</h2>
<p>In summary, you get:</p>
<ul>
<li>Unbranded use of all Bronze plugins</li>
<li>Choice of using the WISIWYG editor on the forum</li>
<li>Access to a helpdesk for guaranteed response to your questions and any problems</li>
<li>Chance to vote on the priority of WP Symposium developments</li>
</ul>
<p><b>If you are not yet a member</b> at <a href="http://www.wpsymposium.com">www.wpsymposium.com</a>, register on the site and when doing so select Bronze as the subscription option.</p>
<h2>Upgrading to Gold Membership</h2>
<p>If you want the highest level of support, and want to purchase WP Symposium with a one-off lifetime payment (which includes updates and support for life), then gold membership is for you!</p>
<p><b>If you are not yet a member</b> at <a href="http://www.wpsymposium.com">www.wpsymposium.com</a>, register on the site and when doing so select Gold as the subscription option.</p>
<h2>Payment for Membership</h2>
<p>You will be prompted to pay with PayPal as part of your registration. You don’t need a PayPal account – PayPal allows you to use a credit/debit card instead.</p>
<p>If you are already a member at <a href="http://www.wpsymposium.com">www.wpsymposium.com</a>, go to Upgrade Account via the Profile menu (when logged in).</p>
<p><img class="aligncenter size-full wp-image-2689" alt="upgrade" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/upgrade.png" width="921" height="319" /></p>
<p>You can then upgrade your account by click on the large link shown.</p>
</div>
<p><img class="aligncenter size-full wp-image-2690" alt="upgrade2" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/upgrade2.png" width="767" height="249" /></p>
<p>Then select Bronze or Gold and click on Next, where you either subscribe with your PayPal account, or use a credit/debit card.</p>
<h2>Annual Subscription or One-off Payment</h2>
<p>Note that the Bronze subscription for WP Symposium is annual, and the Gold membership is for life. Whichever you choose, the activation code lasts 1 year, but can be updated at any time.</p>
<div>
<h2>Silver Membership</h2>
<p>This is <span style="text-decoration: underline;">in addition</span> to the Bronze membership. It makes you a VIP customer! All your helpdesk tickets will be treated as a priority. If your problem cannot be solved, a refund will be provided.</p>
<p><b>Silver Membership </b><strong>does not include bronze membership</strong><b>, and therefore will not provide you with an activation code, it is in addition to the bronze membership.</b></p>
<div>
<h1>Activated Features</h1>
<p>The main table shown on the Installation page will show you which WP Symposium features are activated, and give you links to edit them, a link to any relevant options (also available via the WP Symposium-&gt;Options menu) along with status information.</p>
<p>If you went through the Getting and Installing WP Symposium chapter, you will be familiar with this table already.</p>
<p>Please re-visit the Installation page if you have a problem, and your browser URL includes “plugin%20url%20requested”. This indicates that you need to update internal WPS URLs. For example,  “plugin%20url%20requested%20%28<b><i><span style="text-decoration: underline;">group</span></i></b>” suggests that the page on which the Group shortcode has been added to cannot be found.</p>
<div>
<h1>Adding/removing WP Symposium features</h1>
<p>Rather than duplicate the information, please see the Getting Starting and Installing WP Symposium chapter that covers how to do this.</p>
<div>
<h1>Core Information</h1>
<p>This provides some basic information on your installation, more for reference. If the PHP Curl and JSON extensions are not installed on your server, it will also inform you.</p>
<p>If either of these extensions are not installed, you should contact your hosting company to enable them.</p>
<div>
<h1>Refresh WP Symposium (re-creates database tables)</h1>
<p>When you upgrade WP Symposium, the change in version numbers is noted, and any upgrades to the database are performed.</p>
<p>Clicking on this link (the “click here” one) allows you to repeat the upgrade without first checking for a new version. It will not over-write any data, but will create (if required and not previously done) any addition tables, or fields within existing tables.</p>
<p>It will also switch the welcome message back on so that it displays until you dismiss it.</p>
<div>
<h1>Integrity check</h1>
<p>This can take a long while to complete if you have a lot of users &#8211; please wait for it to finish. If your browser &#8220;times out&#8221; you can repeat until it completes.</p>
<p>You should run the integrity check regularly, preferably daily. Before reporting a support request, please run the WP Symposium integrity check. This will remove potential inaccuracies within the database.</p>
<p>Also, if you are having problems, this is probably the first thing to try as it will clean up your database, specifically it will:</p>
<ul>
<li>Update missing forum topic categories</li>
<li>Report on user images (media) where that user no longer exists</li>
<li>Remove any rogue users with an ID of Null</li>
<li>Remove any duplicate users (i.e. duplicate IDs)</li>
</ul>
<div>
<h1>Purge Forum/Chat</h1>
<p>You can remove old forum and chat information from the database if you feel this is important. Note that they are deleted and cannot be restored, so it is strongly recommended that you take a database backup first.</p>
<p>If you leave either of the options blank, then no information will be removed. So for example, if you wanted to remove forum topics older than 120 days, but leave the chat untouched, you would leave chat blank, and enter 120 into the forum topics field.</p>
<div>
<h1>Stylesheets and Javascript</h1>
<p>This is an important section, if either of the green text above is shown as red, then your stylesheet and/or javascript files cannot be found. This must be corrected.</p>
<p>If you find that certain WPS things don&#8217;t work, like buttons or uploading profile photos, it is probably because the Symposium Javascript file isn&#8217;t loading and/or working. Usually, this is because of another WordPress plugin. Try deactivating all non-WPS plugins and switching to the TwentyEleven theme.</p>
<p>If WPS then works, re-activate the plug-ins one at a time until the error re-occurs, this will help you locate the plugin that is clashing. Then switch your theme back. Also try using Firefox, with the Firebug add-in installed &#8211; this will show you where the Javascript error is occurring.</p>
<p>Further information can be found at <a href="http://www.wpsymposium.com/trythisfirst">www.wpsymposium.com/trythisfirst</a>.</p>
<div>
<h1>bbPress and Mingle forums migration (BETA)</h1>
<p>These are not thoroughly tested – although nobody has reported that they don’t work!</p>
<p>If you have either installed, follow the instructions on screen if you want to migrate your forum.</p>
<p>Although the original data (either bbPress or Mingle) is not removed or altered in any way, it is strongly recommended that you take a back up of your database first.</p>
<div>
<h1>Permalinks</h1>
<p>Although nothing is changed in the database or on your website, it is recommended that you do some tests before deciding if you are happy to use permalinks with your WPS installation, and confirm it all works on your site.</p>
<p>Note that once enabled, links will change and members will receive email notifications with the new links. If you then disable Permalinks, any previously sent links (whilst Permalinks where enabled) will no longer work.</p>
<p>They are only applicable to the forum and member profile pages at the moment.</p>
<h2>So why use Permalinks with WP Symposium?</h2>
<p>The point of forum permalinks, is so that your users don’t see</p>
<p>http://www.example.com/forum/?cid=123&#038;show=4552</p>
<p>But instead they will see</p>
<p>http://www.example.com/forum/topic-about-something</p>
<p>http://www.example.com/forum/general-topics/topic-about-something</p>
<p>This is great for two reasons. First they make more sense for humans. And secondly, search engines will be much more receptive to tracking your forum posts.</p>
<p>Member pages are turned from</p>
<p>http://www.example.com/profile/?uid=123</p>
<p>to</p>
<p>http://www.example.com/profile/simon</p>
<p>To enable Permalinks:</p>
<ul>
<li>Check “Enable WPS Permalinks”</li>
<li>Click on Update on the Installation page</li>
</ul>
<p>Enabling permalinks does not change any forum data, or profile data, and they can be disabled at any time.</p>
<p>Disable them by:</p>
<ul>
<li>Un-check “Enable WPS Permalinks”</li>
<li>Click on Update on the Installation page</li>
</ul>
<h2>Creating your own Permalinks (advanced users only)</h2>
<p>The default entries should work (as demonstrated by <a href="http://www.wpsymposium.com">www.wpsymposium.com</a> where they are used). However you can enter your own if you have specific needs.</p>
<p>This is for advanced users only, as it is possible to create infinite redirection, and make your site inaccessible (have you backed up your database and website yet?).</p>
<p>All fields do not have to be entered. However for a rewrite rule to be created both the regular expression and the target URL need to be entered. If both are left blank, it is not used.</p>
<p>If you choose to enter your own rules, the first value is the rewrite regular expression rule, and the second (if applicable, like with the forum) is the target URL.</p>
<p>Note that in the target URL $matches[1], $matches[2] and so on will match the portion of the regular expression in brackets. So, with the forum for example, the default entry where category and topic are included:</p>
<p>discuss/([^/]+)/([^/]+)/?</p>
<p>is used to take two values <b>([^/]+)</b>, which excludes /, and they are placed in the target URL instead of $matches[1] and $matches[2]. They values of $matches[1] and $matches[2] are assigned to stub:</p>
<p>index.php?pagename=Discuss&amp;stub=$matches[1]/$matches[2]</p>
<p>The value stub equals is then used by WPS. As an example:</p>
<p>http://www.example.com/general-topic/welcome-to-the-forum</p>
<p>will get sent to</p>
<p>http://www.example.com/index.php?pagename=Discuss&#038;stub=general-topic/welcome-to-the-forum</p>
<p>WordPress will then execute the above, finding the page called “Discuss” (the forum page), which in turn will be able to interpret stub=general-topic/welcome-to-the-forum.</p>
<p>It should be noted that the stub in the target URL for the forum should be in the format stub=category/topic. If not using the category, the stub should still include the forward slash, i.e. stub=/topic.</p>
</div>
</div>
<div>
<h1>Send a test email</h1>
<p>Simple enough – allows you to make sure your mail server is working. An email will be sent to the email address you enter. It will report if sent successfully or not. It cannot tell you if the recipient received it!</p>
<div>
<h1>Image Uploading</h1>
<p>If you are uploading to the file system (see Settings), then information will be provided on the folder that images are going to, along with the URL.</p>
<p>If you are having problems uploading images, check for any errors or information here.</p>
<div>
<h1>Daily Digest</h1>
<p>The daily digest is sent out after midnight (in more precisely when your first visit comes to your site after midnight, that’s how WordPress “cron” works).</p>
<p>The daily digest will include information on what each user is interested in.</p>
<p><b>Be careful, especially if you have lots of users, as your hosting company may accuse you of spamming. It may also charge you if you are sending out lots of emails!</b></p>
<p>The daily digest is enabled on the Settings page.</p>
<p>Note that the daily digest takes the opportunity to clean up the database, some housekeeping. You can manually perform this by clicking on the Send Daily Digest button. By default it will only send an email to the site administrators email – if you want to manually send it to all users, select the checkbox shown.</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
</div>
</div>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/01/wp-symposium-installation-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thesaurus</title>
		<link>http://www.wpsymposium.com/2013/01/thesaurus/</link>
		<comments>http://www.wpsymposium.com/2013/01/thesaurus/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 00:53:13 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2714</guid>
		<description><![CDATA[Changing key words to match your site.]]></description>
				<content:encoded><![CDATA[<p>The thesaurus can be found via admin-&gt;WP Symposium-&gt;Manage.</p>
<p>This is a new section, and hence rather small! However, it will grow as “terms” are added. It allows you to change particular words to match your own site. For example, replace Friend/Friends with Colleague/Colleagues.</p>
<p>At the moment, you can only redefine “Friends”.</p>
<p>Note that you need to enter a singular and plural version, for example Buddy/Buddies, Colleague/Colleagues or Mate/Mates.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/01/thesaurus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customizing WP Symposium layout with Templates</title>
		<link>http://www.wpsymposium.com/2013/01/templates/</link>
		<comments>http://www.wpsymposium.com/2013/01/templates/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 00:52:01 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2721</guid>
		<description><![CDATA[Customising layout with Templates.]]></description>
				<content:encoded><![CDATA[<p>Templates allow you to change the layout of the content for WP Symposium. Most site admin’s will not need to worry about templates, but if you do they are accessed via WP Admin-&gt;WP Symposium-&gt;Manage.</p>
<p>Essentially, you can play around with HTML (and hardcoded CSS) for the following (including the necessary shortcodes as displayed alongside each template).</p>
<ul>
<li>Profile Page Header</li>
<li>Profile Page Body</li>
<li>Page Footer</li>
<li>Mail Page: Tray Item</li>
<li>Mail Page: Message</li>
<li>Forum Header</li>
<li>Forum Categories (list)</li>
<li>Forum Topics (list)</li>
<li>Group Page</li>
<li>Group Forum Topics (list)</li>
<li>WP Symposium Emails</li>
</ul>
<h1>Shortcodes</h1>
<p>Shortcodes are replaced by dynamic content produced by WP Symposium. The shortcodes are specific to each template, and as such as listed alongside each template textarea.</p>
<p>For example, in the “WP Symposium Emails” template, the following shortcodes are used by default:</p>
<table width="441" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="33%"><b>Codes available</b></td>
<td valign="top"><b>Output</b></td>
</tr>
<tr>
<td valign="top">[message]</td>
<td valign="top">The email message itself</td>
</tr>
<tr>
<td valign="top">[footer]</td>
<td valign="top">Footer message as defined in WP Symposium-&gt;Manage-&gt;Settings</td>
</tr>
<tr>
<td valign="top">[powered_by_message]</td>
<td valign="top">Default “Powered By WP Symposium” message</td>
</tr>
<tr>
<td valign="top">[version]</td>
<td valign="top">Version of WP Symposium</td>
</tr>
</tbody>
</table>
<p>Shortcodes should also include the square brackets. <b>[message] </b>is correct but <b>message</b> is not.</p>
<h2>Including extended fields in the profile header</h2>
<p>If you have activated the profile plus feature, you can automatically insert extended fields with the shortcode [ext_xxx] where xxx is the slug of the extended field.</p>
<p>For example, if you have an extended field with a slug called ‘gender’, then you can insert [ext_gender] into the profile page header template. An example is below.</p>
<div>
<h1>Examples</h1>
</div>
<p>Rather than go into detail for all the above, I’ll pick a couple of examples as a way of demonstrating how you would look at changing any of them.</p>
<h2>Changing the email template</h2>
<p>A number of “things” cause WP Symposium to send real e-mails to members, such as forum topics and replies. You can tailor this to match your site.</p>
<p>You would do this with the “WP Symposium Emails” template.</p>
<p>Remember for emails, you are effectively creating a web page that is viewed by the email browser, hence the inclusion of hardcoded styles. The default styles include a body colour and a border around the content.</p>
<h2>Changing the site footer</h2>
<p>It’s nice to display the WP Symposium footer, but you don’t have to. And you can replace it with one of your own, that is display at the bottom of every page.</p>
<p>If you don’t want a footer at all, enter a single space. Make sure to put in the space, if you leave the field blank, the default will be used instead.</p>
<h2>Switching the profile page menus</h2>
<p>With Profile Plus activated, you can specify whether the menu on the profile page is displayed vertically or horizontally (with drop down menus).</p>
<p><img class="aligncenter size-full wp-image-2722" alt="switch" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/switch.png" width="865" height="376" /></p>
<p>You should first select the version you want on the WP Symposium-&gt;Options-&gt;Plus screen, and then come to the templates page to change the template. You will also see the method of managing the menu items change on the WP Symposium-&gt;Options-&gt;Profile screen change.</p>
<h2>Including extended fields in the profile page header</h2>
<p>The following is the profile page header template, with some extended field slugs (gender, colour and hobby) included that are converted into the extended field information. Note: you need profile plus feature activated for these to be available.</p>
<pre>&lt;div style='float:right'&gt;[poke]&lt;/div&gt;
&lt;div style='float:right'&gt;[follow]&lt;/div&gt;
&lt;div id='profile_name'&gt;[display_name]&lt;/div&gt;
&lt;div id='profile_header_div'&gt;
&lt;div id='profile_label'&gt;[profile_label]&lt;/div&gt;
&lt;div id='profile_header_panel'&gt;
&lt;div id='profile_photo' class='corners'&gt;[avatar,200]&lt;/div&gt;
&lt;div id='profile_details'&gt;
&lt;p&gt;[location]&lt;br /&gt;[born]&lt;/p&gt;
[ext_gender]
[ext_colour]
[ext_hobby]
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id='profile_actions_div'&gt;[actions]&lt;/div&gt;</pre>
<div>
<h1>Updating a multi-site network</h1>
<p>On a network installation of WordPress, templates are per site. However, as the network administrator you may want to upgrade all templates across your network. To do so, tick the following at the top of the templates page:</p>
<p><img class="aligncenter size-full wp-image-2723" alt="network_save" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/network_save.png" width="411" height="139" /></p>
<p>Note, that you have to tick the box each time you save to avoid updating the entire network by mistake!</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/01/templates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Styling WP Symposium</title>
		<link>http://www.wpsymposium.com/2013/01/styles/</link>
		<comments>http://www.wpsymposium.com/2013/01/styles/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 00:51:30 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2733</guid>
		<description><![CDATA[Adding style and colour (and any CSS) to WP Symposium.]]></description>
				<content:encoded><![CDATA[<p>Styles is accessed via WP Admin-&gt;WP Symposium-&gt;Styles and is split in to two tabs. The first “Styles” allows you to quickly set styles and colours used by WP Symposium. The second “CSS” allows you to enter CSS that will be applied to WP Symposium output.</p>
<div>
<h1>Inbuilt style chooser</h1>
<p>To use the inbuilt style chooser, tick the first option (“Use Styles?”). You can then experiment with the styles available.</p>
<p>Bear in mind that your theme and other plugins may impact on styles. If your styles do not change try and identify where else they make be being set (tip: read <a href="http://www.wpsymposium.com/trythisfirst">http://www.wpsymposium.com/trythisfirst</a>).</p>
<h2>Body Text</h2>
<p>Text that is used in the profile activity, widget, on the forum and so on.</p>
<p><img class="aligncenter size-full wp-image-2734" alt="styles1" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/styles1.png" width="511" height="199" /></p>
<h2>Headings</h2>
<p>Used in various places where body text needs to be highlighted.</p>
<p><img class="aligncenter size-full wp-image-2735" alt="styles2" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/styles2.png" width="509" height="246" /></p>
<h2>Main background</h2>
<p>The background behind WP Symposium content. Set to a colour or enter “transparent” to show your theme background.</p>
<p><img class="aligncenter size-full wp-image-2736" alt="styles3" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/styles3.png" width="379" height="366" /></p>
<h2>Labels</h2>
<p>Where an option has a prompt (i.e. a label).</p>
<p><img class="aligncenter size-full wp-image-2737" alt="styles4" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/styles4.png" width="380" height="357" /></p>
<h2>Text colour</h2>
<p>The main colour, and if applicable, a second colour.</p>
<p><img class="aligncenter size-full wp-image-2738" alt="styles5" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/styles5.png" width="397" height="260" /></p>
<h2>Underlined?</h2>
<p>Whether or not hyperlinks should show as underlined.</p>
<p><img class="aligncenter size-full wp-image-2739" alt="styles6" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/styles6.png" width="395" height="54" /></p>
<h2>Corners</h2>
<p>How “rounded” corners should be on various WP Symposium elements.</p>
<p><img class="aligncenter size-full wp-image-2740" alt="styles7" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/styles7.png" width="396" height="192" /></p>
<h2>Buttons</h2>
<p>Styles the WP Symposium buttons (normal and when the mouse hovers over a button).</p>
<p><img class="aligncenter size-full wp-image-2741" alt="styles8" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/styles8.png" width="237" height="41" /></p>
<h2>Tables and Rows</h2>
<p>WP Symposium uses tables (and achieves the appearance of tables, through the use of DIVs) to layout content. The following is, quite frankly, awful, but shows how the colours and lines (including hover) can be changed.</p>
<p><img class="aligncenter size-full wp-image-2742" alt="styles9" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/styles9.png" width="396" height="109" /></p>
<h1>CSS</h1>
<p>If you want to refine styles with WP Symposium with CSS, then this is where you can enter it directly. You’ll need to know CSS, but if you do then you can alter any element displayed.</p>
<h2>Identifying an element</h2>
<p>A useful way to identify an element (such as a DIV) is to use FireFox with the Firebug add-in installed and enabled. You can then, by using the tool shown below, highlight an element and get it’s ID or CLASS.</p>
<p><img class="aligncenter size-full wp-image-2743" alt="css1" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/css1.png" width="641" height="492" /></p>
<p>In the above example, the “What’s up?” textarea has been chosen, and the ID can be seen as “__wps__comment”.</p>
<h2>Changing the CSS</h2>
<p>So having identified the ID of the element (“__wps__comment” above, noting it’s a double underscore either side of wps), we can enter some CSS in to the WP Symposium-&gt;Styles-&gt;CSS:</p>
<pre>#__wps__comment {
     background-color: blue !important;
     color: white;
     border-radius: 10px;
 }</pre>
<p>Save it, and take a look at the new “What’s up?” area:</p>
<p><img class="aligncenter size-full wp-image-2744" alt="css2" src="http://www.wpsymposium.com/wp-content/uploads/2013/01/css2.png" width="508" height="57" /></p>
<h2>Use of !important</h2>
<p>Sometimes, when entering CSS, you’ll find that this makes no difference. This is probably because your theme and/or another plugin (even possibly WP Symposium) is making a CSS style that overrides your entered CSS. Generalising, this is what the “Cascading” in “Cascading Style Sheets” (CSS) stands for!</p>
<p>But CSS provides a handy <b>!important</b> flag that basically says, “I am more important”. This is used in the above example to get the background colour changed.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/01/styles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Profile Options</title>
		<link>http://www.wpsymposium.com/2013/03/profile-options/</link>
		<comments>http://www.wpsymposium.com/2013/03/profile-options/#comments</comments>
		<pubDate>Mon, 18 Mar 2013 13:26:15 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>
		<category><![CDATA[admin guide]]></category>
		<category><![CDATA[profile]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2889</guid>
		<description><![CDATA[Options for the member profile.]]></description>
				<content:encoded><![CDATA[<p>The profile settings page is used to customize the member profile page. Accessed via WP Symposium -&gt; Options -&gt; Profile.</p>
<div>
<h1>Options</h1>
<p><strong>Custom Profile Page templates</strong></p>
<p>WP Symposium has inbuilt templates that it uses by default. You can modify these to a layout of your choice with Templates, which are accessed under the &#8220;Manage&#8221; admin pages. When starting out, better to leave this unchecked.</p>
<p><strong>Horizontal menu style (when using custom templates only)</strong></p>
<p>WP Symposium can display the profile page vertically or horizontally. When you switch from one to the other, following the on-screen instructions.</p>
<p><strong>Redirect Profile Page</strong></p>
<p>As an admin of a website, the backend WordPress dashboard is a place you may not want your members to visit. This option will automatically redirect those who visit their WordPress “Edit profile” page to the WP Symposium profile page.</p>
<p>Note that if you don’t enable this option, when members visit their WordPress “Edit Profile” page, they also get the WP Symposium settings.</p>
<p><strong>Default view </strong></p>
<p>Choose what members will see as their default view:</p>
<ul>
<li>Profile</li>
<li>Their activity (my activity)</li>
<li>Friends activity (their friends, excluding their own activity)</li>
<li>All activity (across the site, permissions permitting)</li>
</ul>
<p><strong>Default Friend(s)</strong></p>
<p>If you want new members to be automatically made a friend of one or more other members, enter the User ID’s of those other members here, separated by commas. You can get the User ID’s on the WordPress admin dashboard-&gt;Users screen.</p>
<p><strong>Profile Photos</strong></p>
<p>Activate if you want to allow members to be able to upload their own profile photos (avatar). If not activated, WordPress will provide a default image as per the WordPress settings on Dashboard -&gt; Settings -&gt; Discussion.</p>
<p>Note that the maximum size of uploaded files is as defined in your site’s PHP.INI file. If this means nothing to you (and you want to change it), there are many tutorials available on Google.</p>
<p>You are looking to change the upload_max_filesize in a file called php.ini that sets your site’s PHP parameters.</p>
<p>If you are using a hosting provider, log a support call with them asking for them to increase upload_max_filesize in php.ini to (for example) 32MB.</p>
<p><strong>Use gravatar</strong></p>
<p>Gravatar (<a href="http://www.gravatar.com">www.gravatar.com</a>) is a service provided by the producers of WordPress to provide global member avatars on sites that support the service, including all WordPress installations. Set your avatar once and it will appear on all those site.</p>
<p>If you are allowing members to upload their own profile photos (previous option), and they have not yet done so, you can choose whether Gravatar is used, or a default image supplied by WP Symposium.</p>
<p><strong>Poke/Nudge/Wink/etc</strong></p>
<p>If activated, a button will appear on members profile pages (not their own) which if clicked will send a quick message to that member.</p>
<p><strong>Poke Label</strong></p>
<p>Set the label of the above button. Be sure to choose something that does not conflict with any trademarks used by other social network websites (such as Facebook for example).</p>
<p><strong>Status Label</strong></p>
<p>On member’s profile page they can add to their activity posts, often referred to as their status. Change the text here to match the style of your website.</p>
<p><strong>Use Date of Birth</strong></p>
<p>Choose whether or not to display the member’s date of birth on their profile page.</p>
<p><strong>Date of Birth format</strong></p>
<p>Allows you to customize the format of how the date of birth is displayed.</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="83">%day</td>
<td valign="top" width="378">replaced with day of month</td>
</tr>
<tr>
<td valign="top" width="83">%0day</td>
<td valign="top" width="378">replaced with day of month, with leading 0 if less than 10</td>
</tr>
<tr>
<td valign="top" width="83">%th</td>
<td valign="top" width="378">replaced with ‘st’, ‘nd’, ‘rd’ or ‘th’, based on value of %day</td>
</tr>
<tr>
<td valign="top" width="83">onth</td>
<td valign="top" width="378">replaced with month as a number</td>
</tr>
<tr>
<td valign="top" width="83">%0month</td>
<td valign="top" width="378">replaced with month as a number, with leading 0 is less than 10</td>
</tr>
<tr>
<td valign="top" width="83">onthname</td>
<td valign="top" width="378">replaced with name of month</td>
</tr>
<tr>
<td valign="top" width="83">%year</td>
<td valign="top" width="378">replaced with the year</td>
</tr>
</tbody>
</table>
<p><i>Examples, for a birthday of May 8<sup>th</sup>, 1969:</i></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="218">Born onthname %day%th, %year</td>
<td valign="top" width="244">Born May 8th, 1969 (default)</td>
</tr>
<tr>
<td valign="top" width="218">Born %0month/%0day/%year</td>
<td valign="top" width="244">Born 05/08/1969</td>
</tr>
<tr>
<td valign="top" width="218">Date of birth: %0day/%0month/%year</td>
<td valign="top" width="244">Date of birth: 08/05/1969</td>
</tr>
<tr>
<td valign="top" width="218">Birthday: %day%th onthname</td>
<td valign="top" width="244">Birthday: 8th May</td>
</tr>
<tr>
<td valign="top" width="218">Year of birth: %year</td>
<td valign="top" width="244">Year of birth: 1969</td>
</tr>
</tbody>
</table>
<p><strong>Recently Active Friends Box</strong></p>
<p>You can add an extra set of information automatically to a profile member’s page by selecting this option.</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.05.34.png"><img class="aligncenter size-full wp-image-2890" alt="Screen Shot 2013-03-18 at 13.05.34" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.05.34.png" width="840" height="629" /></a></p>
<p>Some themes, where the profile activity area is narrow may mean that you don’t have the screen space to use this feature, as shown below.</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.05.42.png"><img class="aligncenter size-full wp-image-2891" alt="Screen Shot 2013-03-18 at 13.05.42" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.05.42.png" width="581" height="402" /></a></p>
<p>You can either disable it, or change your page template to allow for it (for example, one without the sidebar for widgets).</p>
<p><strong>Google Map</strong></p>
<p>Either set the size of the Google map that appears on the members profile in pixels, or set to 0 to hide.</p>
<p><strong>Show Comments Field</strong></p>
<p>Activate to have the comments field (below each activity post) allows appear, or leave to have it appear when the mouse is moved over a post.</p>
<p><strong>Remove Location Fields</strong></p>
<p>On sites where a member’s location is not applicable, you can choose not to display them on the Profile Details page.</p>
<p><strong>Enable Password Change</strong></p>
<p>If activated, member can change their password on the Community Settings page.</p>
<p><strong>Inactivity Period</strong></p>
<p>How long in minutes before the “active” image shown on, for example the panel, changes from green to the moon shape (inactive) or red (offline).</p>
<div>
<h1>Profile Menu Items</h1>
<p>This option allows you to customize the profile page menus. You can select which appear on the page, and what the text is for each option. Note that you can select what appears (and how) on each members own page, and how the menu appears when they view other member’s profile pages.</p>
<p>What is displayed here will depend on the type of profile menu you are using, and if you are using inbuilt templates or custom templates. By default (with inbuilt templates) your members will have a horizontal menu across the profile page. However, with custom templates, you can select a horizontal or vertical menu with drop down menu items.</p>
<p><strong>Vertical Menu</strong></p>
<p>The following options, if using the vertical menu, allow you to select which are shown on screen, and change the labels of the menu items (for a member’s own page, and when viewing other member’s pages).</p>
<p>By changing the menu labels, you can make them suite your own site. For example, perhaps your Friends are referred to as Colleagues.</p>
<p><strong>Profile Menu Text/HTML (vertical menu only)</strong></p>
<p>A simple and quick way to add some text and/or links to the end of the profile menu. You can include HTML.</p>
<p><strong>Horizontal Menu</strong></p>
<p>The following options, if using the horizontal menu, allow you to define your own menu structure, for a member’s on profile page on when viewing other member’s pages.</p>
<p>A default structure to the menus is provided, by you can change both the headings and the drop down items (or remove them).</p>
<p>To add a new top level menu item, enter the label between square brackets. The add a drop down item, enter a line with the label and an action separated by an equals sign. The label can be anything (do not use an equals sign), but the action must be one of the following:</p>
<table width="100%" border="1" cellspacing="0" cellpadding="0" align="left">
<tbody>
<tr>
<td valign="top" width="31%"><b>Action</b></td>
<td valign="top" width="68%"><b>Purpose</b></td>
</tr>
<tr>
<td valign="top" width="31%">viewprofile</td>
<td valign="top" width="68%">Display summary profile information</td>
</tr>
<tr>
<td valign="top" width="31%">details</td>
<td valign="top" width="68%">Member details (name, email address, etc)</td>
</tr>
<tr>
<td valign="top" width="31%">settings</td>
<td valign="top" width="68%">Community settings (sharing, date of birth, location)</td>
</tr>
<tr>
<td valign="top" width="31%">avatar</td>
<td valign="top" width="68%">Upload avatar</td>
</tr>
<tr>
<td valign="top" width="31%">activitymy</td>
<td valign="top" width="68%">Member’s own related activity</td>
</tr>
<tr>
<td valign="top" width="31%">activityfriends</td>
<td valign="top" width="68%">Activity of the member’s friends</td>
</tr>
<tr>
<td valign="top" width="31%">activityall</td>
<td valign="top" width="68%">All site activity</td>
</tr>
<tr>
<td valign="top" width="31%">myfriends</td>
<td valign="top" width="68%">The member’s friends</td>
</tr>
<tr>
<td valign="top" width="31%">mygroups</td>
<td valign="top" width="68%">The member’s groups that he is a member of</td>
</tr>
<tr>
<td valign="top" width="31%">lounge</td>
<td valign="top" width="68%">The site-wide lounge (ie. The Lounge feature)</td>
</tr>
<tr>
<td valign="top" width="31%">mentions</td>
<td valign="top" width="68%">Where the member has been @mentioned on the forum</td>
</tr>
<tr>
<td valign="top" width="31%">following</td>
<td valign="top" width="68%">Who the member is following</td>
</tr>
<tr>
<td valign="top" width="31%">followers</td>
<td valign="top" width="68%">Who is following the member</td>
</tr>
<tr>
<td valign="top" width="31%">events</td>
<td valign="top" width="68%">The member’s events</td>
</tr>
<tr>
<td valign="top" width="31%">gallery</td>
<td valign="top" width="68%">The member’s gallery of photo albums</td>
</tr>
</tbody>
</table>
<p>3<sup>rd</sup> party WP Symposium plugins can provide their own values to be used in the menu, and if informed of them, they will be provided below. For more information on the plugin, search for the Plugin title on the WordPress repository.</p>
<table width="100%" border="1" cellspacing="0" cellpadding="0" align="left">
<tbody>
<tr>
<td valign="top" width="34%"><b>Plugin</b></td>
<td valign="top" width="16%"><b>Action</b></td>
<td valign="top" width="48%"><b>Purpose</b></td>
</tr>
<tr>
<td valign="top" width="34%">WP Symposium Blog Post</td>
<td valign="top" width="16%">Blogpost</td>
<td valign="top" width="48%">Display’s blog posts by the member</td>
</tr>
</tbody>
</table>
<p>You can reset your menu structure to the default, by clicking on the “Reset the above…” links below each one. Don’t forget to save afterwards!</p>
<h1>Extended Fields</h1>
<p>Extended fields can be a little daunting, but don’t be put off, they are very powerful and allow you to really make your social network “part” of your website.</p>
<p>For example, let’s say you are running a dating community. You may want your members to be able to do the following (just suggestions!):</p>
<ul>
<li>Enter their job title</li>
<li>Specify if they are looking for a relationship</li>
<li>Specify their gender</li>
<li>Enter a brief description of themselves</li>
</ul>
<p>These can each be translated into one of the “types” of extended fields, you can of course add more, but these are for example. So:</p>
<ul>
<li>Enter their job title = single line of text</li>
<li>Say if they are looking for a relationship = checkbox</li>
<li>Specify their gender = selection from a list</li>
<li>Enter a brief description of themselves = text area</li>
</ul>
<p>Let’s take each one, one at a time.</p>
<p><strong>Single line of text (eg. job title)</strong></p>
<p>Using the “Add extended field” we fill in the following details:</p>
<ul>
<li>Order = the order in which the extended fields are presented to the user, let’s enter “1”.</li>
<li>Slug = an internal “label” for the extended field. This must be unique, so let’s enter “job-title”.</li>
<li>Label = this is what the member sees. Let’s enter “Job title”.</li>
<li>Default value = not needed here, so leave blank.</li>
<li>Read only? = Nope, we want members to be able to enter a value! Set to “No”.</li>
<li>Type = Select text. This is for a single line of text.</li>
<li>Linked WP metadata = something to ignore for now, we’ll cover this with the textarea field.</li>
</ul>
<p>So you enter up with this:</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.12.56.png"><img class="aligncenter size-full wp-image-2892" alt="Screen Shot 2013-03-18 at 13.12.56" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.12.56.png" width="1120" height="107" /></a></p>
<p>&nbsp;</p>
<p>Click on “Save changes” button at the button of the page, and your new field will appear as a “Current extended field”.</p>
<p>Now that you have entered this as an extended field, it will appear on the member’s profile page (under Profile Details):</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.13.25.png"><img class="aligncenter size-full wp-image-2893" alt="Screen Shot 2013-03-18 at 13.13.25" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.13.25.png" width="348" height="446" /></a></p>
<p><strong>Checkboxes (eg. looking for a relationship?)</strong></p>
<p>This will allow members, in our example, to say whether they are looking for a relationship or not. Therefore a checkbox (yes/no) will be used. Missing out the obvious fields (see the text box example above), we’ll enter the following:</p>
<ul>
<li>Slug = “seeking”</li>
<li>Label = “Looking for a relationship?”</li>
<li>Default = left blank (to default to checked, enter ‘on’, without the quotes….)</li>
<li>Type = Select checkbox</li>
</ul>
<p>So you enter up with this:</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.14.14.png"><img class="aligncenter size-full wp-image-2894" alt="Screen Shot 2013-03-18 at 13.14.14" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.14.14.png" width="1143" height="113" /></a></p>
<p>Again, save and the new extended will appear as a current extended field.</p>
<p>Note that there is an option above your current extended fields called “Display checkboxes fields that are not selected (on member profile page)”. Sometimes checkboxes are true/false, yes/no and you want them displayed to signify if a member has ticked the option or not. On our dating site, it might be whether they like dogs or not. Sometimes however, you only want the option shown if they have ticked it, for example on our dating site, are they desperate for a date (just an example!!).</p>
<p>Note if setting the checkbox as ticked by default, by entering ‘on’ in the default value field, a member must at least visit their community settings screen to switch it on.</p>
<p>The new extended field will now be shown on the profile details page.</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.14.54.png"><img class="aligncenter size-full wp-image-2895" alt="Screen Shot 2013-03-18 at 13.14.54" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.14.54.png" width="360" height="412" /></a></p>
<p><strong>Select from a list (eg. Gender)</strong></p>
<p>On our dating site, gender would be important, but is not just a matter of male or female, not these days! So we’ll use a list with the following</p>
<ul>
<li>Slug = “gender”.</li>
<li>Label = “Gender”.</li>
<li>Type = Select list.</li>
</ul>
<p>However, with a list we need to enter the list values. This is done with the default value field with each list value separated with a comma. The first value will be the default value (a value must be selected from a list). If you want to add more values, feel free!</p>
<ul>
<li>Default value = “Not saying,Male,Female”.</li>
</ul>
<p>So you enter up with this:</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.15.52.png"><img class="aligncenter size-full wp-image-2896" alt="Screen Shot 2013-03-18 at 13.15.52" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.15.52.png" width="1140" height="114" /></a></p>
<p>Again, save and the new extended will appear as a current extended field, and available on the profile details page:</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.16.15.png"><img class="aligncenter size-full wp-image-2897" alt="Screen Shot 2013-03-18 at 13.16.15" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.16.15.png" width="360" height="578" /></a></p>
<p>&nbsp;</p>
<p><strong>Textarea (eg. Description)</strong></p>
<p>With a dating site, it’s nice to be able to say a little about yourself, and so that’s what we’ll use a textarea for.</p>
<ul>
<li>Slug = “description”.</li>
<li>Label = “Say a bit about yourself”.</li>
<li>Type = Select list.</li>
</ul>
<p>Ending up with:</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.17.24.png"><img class="aligncenter size-full wp-image-2898" alt="Screen Shot 2013-03-18 at 13.17.24" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.17.24.png" width="1139" height="109" /></a></p>
<p>Save, and it will appear on the profile details page.</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.17.53.png"><img class="aligncenter size-full wp-image-2899" alt="Screen Shot 2013-03-18 at 13.17.53" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.17.53.png" width="550" height="638" /></a></p>
<p>&nbsp;</p>
<p><strong>Displaying on the Profile view</strong></p>
<p>Once values have been entered, then the member’s “view profile” will display this information for all to see. I suspect I may be single for some time to come….! :(</p>
<p>However, you can also choose to add certain fields to the &#8220;header&#8221; section of the profile page.</p>
<p>If you&#8217;re using the inbuilt templates, then above the extended fields, simply select which you want to display.</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.21.38.png"><img class="aligncenter size-full wp-image-2902" alt="Screen Shot 2013-03-18 at 13.21.38" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.21.38.png" width="632" height="179" /></a></p>
<p>If you are using custom templates, you enter a shortcode that includes the slug, for example: [ext_gender] if you slug was &#8220;gender&#8221;.</p>
<p><strong>Linking Extended fields to WordPress fields</strong></p>
<p>Sometimes, it is useful to link WP Symposium extended fields, to fields already set up by WordPress and/or other 3<sup>rd</sup> party plugins. A great example is our “Say a bit about yourself” extended field and the WordPress “Biographical info” field, which may have been/is being used by members of your site.</p>
<p>To “link” the extended field, use the “Linked WP Metadata” drop down list below each extended field. For example, using our textarea extended field, we would choose “description” which is the internal WordPress field. Unfortunately, you will need a little knowledge (or play around) to find which internal field to use, especially for 3<sup>rd</sup> party plugins.</p>
<p>Having linked this to the “Biographical info” field, WP Symposium will now ignore it’s own stored value and show what was stored via the WordPress profile.</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.19.19.png"><img class="aligncenter size-full wp-image-2900" alt="Screen Shot 2013-03-18 at 13.19.19" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.19.19.png" width="642" height="294" /></a></p>
<p>&nbsp;</p>
<p>Note that, if not set as read-only, this can be updated via the Profile Details screen.</p>
<p><strong>Using with Member Directory (requires Profile Plus)</strong></p>
<p>With extended fields defined, and with Profile Plus feature activated, the advanced search becomes a useful way to filter members on your site.</p>
<p>Note that only checkbox and list extended fields are used as part of the advanced search.</p>
<p>So for example, if someone happened to be looking for members who are “Male”, and “Looking for a relationship”, with the information above I could be found by using the member directory, and clicking on Advanced Search.</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.20.09.png"><img class="aligncenter size-full wp-image-2901" alt="Screen Shot 2013-03-18 at 13.20.09" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.20.09.png" width="499" height="348" /></a></p>
<div>
<h1>Member-specific admin options</h1>
</div>
<p>As a site administrator there are settings which you can access via a member’s Profile Page-&gt;Profile Details. These are specific to an individual member rather than your site as a whole.</p>
<p><strong>Trusted Members</strong></p>
<p>By ticking this box, you are marking this user as a “trusted” member, and their forum replies will be highlighted to show this.</p>
<p>You can also change the style of the forum highlight by entering CSS into the WP Symposium-&gt;Styles-&gt;CSS text box. For example, the following CSS…</p>
<p>.__wps__wrapper .trusted {<br />
background-color: #09f;<br />
padding:30px;<br />
margin: 10px;<br />
border: 1px solid #000;<br />
border-radius: 10px;<br />
}</p>
<p>… produces a highlighted reply like this:</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.22.53.png"><img class="aligncenter size-full wp-image-2903" alt="Screen Shot 2013-03-18 at 13.22.53" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.22.53.png" width="747" height="224" /></a></p>
<p><strong>Profile Page header label</strong></p>
<p>As a site administrator, you can verify/highlight individual members by adding your own labels. You may want to standardize, or give unique labels – up to you.</p>
<p>Once entered, the label will appear on the profile page header:</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.23.26.png"><img class="aligncenter size-full wp-image-2904" alt="Screen Shot 2013-03-18 at 13.23.26" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.23.26.png" width="853" height="342" /></a></p>
<p>It will also display on the member directory:</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.24.03.png"><img class="aligncenter size-full wp-image-2905" alt="Screen Shot 2013-03-18 at 13.24.03" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.24.03.png" width="1023" height="345" /></a></p>
<p>You can also change the style of the label by entering CSS into the WP Symposium-&gt;Styles-&gt;CSS text box. For example, the following CSS…</p>
<p>.__wps__wrapper #profile_label {<br />
background-color:#F00;<br />
color: #FF0;<br />
font-family: courier;<br />
font-size: 20px;<br />
font-weight:bold;<br />
}</p>
<p>… produces a label like this:</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.24.33.png"><img class="aligncenter size-full wp-image-2906" alt="Screen Shot 2013-03-18 at 13.24.33" src="http://www.wpsymposium.com/wp-content/uploads/2013/03/Screen-Shot-2013-03-18-at-13.24.33.png" width="859" height="355" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/03/profile-options/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Panel/chat Options</title>
		<link>http://www.wpsymposium.com/2013/03/panel/</link>
		<comments>http://www.wpsymposium.com/2013/03/panel/#comments</comments>
		<pubDate>Mon, 25 Mar 2013 12:47:46 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>
		<category><![CDATA[admin guide]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[Panel]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2917</guid>
		<description><![CDATA[About the Panel and the chat windows.]]></description>
				<content:encoded><![CDATA[<p>The Panel feature provides a number of things:</p>
<ul>
<li>See which of your friends are online</li>
<li>Chat Windows (for one to one chat between members)</li>
<li>Notify you of new mail (unread)</li>
<li>Notify you of new friend requests</li>
<li>Set your presence as offline</li>
<li>Logout</li>
</ul>
<p>Accessed via WP Symposium -&gt; Options -&gt; Panel.</p>
<h2>Show all members</h2>
<p>Depending on the size of your site, you may prefer that members can see everyone else, or just their friends.</p>
<h2>Enable chat windows</h2>
<p>Switches the private one-to-one chat windows on or off.</p>
<h2><span style="color: #000000; font-family: FolksLightRegular; font-size: 15px; font-weight: bold;">Polling intervals</span></h2>
<p>Checking for new chat can put a load on your server, which may be particularly relevant if it’s one of the cheaper shared hosting options.</p>
<p>To reduce the load on your server, include the number of seconds to check for new mail, friend requests, and how often your site checks for new chat responses.</p>
<p>On typical hosts, values of 120 and 10 should be sufficient.</p>
<h1>Sound notification</h1>
<p>User’s can change the sound notification when chat messages are received (or choose no sound) via their profile page. A number of sounds are included as .mp3 files in the ajax/chat/flash folder.</p>
<p>You can add more .mp3 files to the list by placing the .mp3 files in the above folder. Ensure that any spaces in the filename are replaced with an underscore (so “new sound.mp3” would become new_sound.mp3). The underscores are replaced by spaces when shown to the user in the drop down list on their community settings.</p>
<h1>Other chat options</h1>
<p>There are companies who are dedicated to chat options for your site. The following are two (Cometchat and Evolve), but there are more (a search with Google will produce a list). However, both have been validated as compatible with WP Symposium.</p>
<table width="98%" border="1" cellspacing="0" cellpadding="0" align="left">
<tbody>
<tr>
<td valign="top" width="18%"><b>Chat option</b></td>
<td valign="top" width="40%"><b>Pro’s</b></td>
<td valign="top" width="41%"><b>Con’s</b></td>
</tr>
<tr>
<td valign="top" width="18%">WPS Panel</td>
<td valign="top" width="40%">
<ul>
<li>Fully integrated into WP Symposium</li>
<li>Chat windows</li>
<li>New mail notification</li>
<li>New friend requests notification</li>
</ul>
<p>&nbsp;</td>
<td valign="top" width="41%">
<ul>
<li>May impact on CPU utilization on shared servers</li>
</ul>
</td>
</tr>
<tr>
<td valign="top" width="18%">Cometchat</td>
<td valign="top" width="40%">
<ul>
<li>Commercial grade</li>
<li>Integrates with WP Symposium</li>
<li>Extras, such as share files, games, etc</li>
<li>Can be upgraded to include extra features like video chat</li>
<li>Public chat rooms</li>
<li>Cometchat integration is easy</li>
</ul>
<p>&nbsp;</td>
<td valign="top" width="41%">
<ul>
<li>No free version</li>
</ul>
</td>
</tr>
<tr>
<td valign="top" width="18%">Evolve</td>
<td valign="top" width="40%">
<ul>
<li>Installed as a WordPress plugin (search for &#8216;Envolve&#8217;)</li>
<li>Chat runs off Envolve server, so minimal load on your server</li>
<li>Private chat can be more than 2 people</li>
<li>Public chat rooms</li>
<li>Free version available (up to 25 logged in site members)</li>
<li>Paid versions can be skinned and more options available</li>
</ul>
<p>&nbsp;</td>
<td valign="top" width="41%">
<ul>
<li>Doesn&#8217;t integrate completely (eg. avatars not shared)</li>
<li>Member information profile on Envolve site</li>
<li>Displays location information automatically</li>
</ul>
</td>
</tr>
</tbody>
</table>
<h2>Getting Cometchat</h2>
<p>The Cometchat product can be downloaded from their <a href="http://www.cometchat.com/?r=149" target="_blank">website</a>.</p>
<h2>Integrating Cometchat</h2>
<p>Purchase version 4 or version 5 <b>for WordPress</b>.</p>
<p>Follow the installation instructions, and once installed and working ok, backup the Cometchat folder.</p>
<p>Then:</p>
<ol>
<li><strong style="color: #333333; font-style: normal;">Make a copy of integration.php from your Cometchat folder</strong><span style="color: #333333; font-style: normal;"> (you’ll need this)</span></li>
<li><span style="color: #333333; font-style: normal;">Download </span><a style="font-style: normal;" href="http://www.wpsymposium.com/cometchat/integration.wps">this file</a> (integration.wps)<span style="color: #333333; font-style: normal;">.</span></li>
<li><span style="color: #333333; font-style: normal;">Rename it to integration.php and put it into the Cometchat folder</span></li>
<li><span style="color: #333333; font-style: normal;">Edit the file and put the licence information from your original integration.php at the bottom of the file (that you took a copy of in step 1)</span></li>
<li><span style="color: #333333; font-style: normal;">If, and only if, you need to, change any other settings from your original integration.php file, maybe MySQL port (DB_PORT), for example.</span></li>
</ol>
<h2>Customising who appears “Who’s online”</h2>
<p>You can choose whether to include only a member&#8217;s friends in the &#8220;Who&#8217;s Online&#8221; list, or everyone on your site.</p>
<p>In the downloaded integration.php file, look for the line that starts &#8220;function getFriendsList&#8221;, and below it you will see two options:</p>
<ul>
<li>$max_members_shown = 50;</li>
<li>$show_only_friends = true;</li>
</ul>
<p>You can change these values to reflect what you want the &#8220;Who&#8217;s Online&#8221; to show.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/03/panel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP Symposium Codex: Shortcodes</title>
		<link>http://www.wpsymposium.com/2013/01/wp-symposium-codex-shortcodes/</link>
		<comments>http://www.wpsymposium.com/2013/01/wp-symposium-codex-shortcodes/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 00:12:36 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2751</guid>
		<description><![CDATA[All WP Symposium shortcodes available to use.]]></description>
				<content:encoded><![CDATA[<div>
<p>There are a number of shortcodes that can be used throughout your WordPress site. To use a shortcode (eg. <strong>[</strong>symposium-galleries]) add it to any WordPress page.</p>
</div>
<p>This allows you to set up other pages, and link to them or add them to your WordPress menu.</p>
<div>
<h1>Alerts shortcodes</h1>
</div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="176"><b>Shortcode</b></td>
<td valign="top" width="286"><b>Purpose</b></td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-alerts]</td>
<td valign="top" width="286">Display the alerts page for the member</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-alerts count=200]</td>
<td valign="top" width="286">Alters the number of alerts shown to 200 (default 50)</td>
</tr>
</tbody>
</table>
<div>
<h1>Events shortcodes</h1>
</div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="176"><b>Shortcode</b></td>
<td valign="top" width="286"><b>Purpose</b></td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-events]</td>
<td valign="top" width="286">Events Page</td>
</tr>
</tbody>
</table>
<div>
<h1>Forum shortcodes</h1>
</div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="176"><b>Shortcode</b></td>
<td valign="top" width="286"><b>Purpose</b></td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-forum]</td>
<td valign="top" width="286">Forum Page</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-forumlatestposts]</td>
<td valign="top" width="286">Summary of recent forum posts (set in Forum Options)</td>
</tr>
</tbody>
</table>
<div>
<h1>Gallery shortcodes</h1>
</div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="176"><b>Shortcode</b></td>
<td valign="top" width="286"><b>Purpose</b></td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-galleries<strong>]</strong></td>
<td valign="top" width="286">Show all member galleries</td>
</tr>
</tbody>
</table>
<div>
<h1>Groups shortcodes</h1>
</div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="176"><b>Shortcode</b></td>
<td valign="top" width="286"><b>Purpose</b></td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-groups]</td>
<td valign="top" width="286">Show all site groups (and group creation)</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-group]</td>
<td valign="top" width="286">Individual group page (do not add to menus!)</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-group-members]</td>
<td valign="top" width="286">Show members of a group</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-group-settings]</td>
<td valign="top" width="286">Show settings of a group</td>
</tr>
</tbody>
</table>
<div>
<h2>Lounge shortcodes</h2>
</div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="176"><b>Shortcode</b></td>
<td valign="top" width="286"><b>Purpose</b></td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-lounge]</td>
<td valign="top" width="286">Lounge Page</td>
</tr>
</tbody>
</table>
<div>
<h1>Mail shortcodes</h1>
</div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="176"><b>Shortcode</b></td>
<td valign="top" width="286"><b>Purpose</b></td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-mail]</td>
<td valign="top" width="286">Mail page</td>
</tr>
<tr>
<td valign="top" width="176">&nbsp;</td>
<td valign="top" width="286">&nbsp;</td>
</tr>
</tbody>
</table>
<div>
<h2>Member Directory shortcodes</h2>
</div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="176"><b>Shortcode</b></td>
<td valign="top" width="286"><b>Purpose</b></td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-members]</td>
<td valign="top" width="286">Member Directory</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-members roles=”administrator,subscriber”]</td>
<td valign="top" width="286">Limit this version of the directory to include on those WordPress roles listed</td>
</tr>
</tbody>
</table>
<div>
<h1>Profile shortcodes</h1>
</div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="176"><b>Shortcode</b></td>
<td valign="top" width="286"><b>Purpose</b></td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-profile]</td>
<td valign="top" width="286">Profile page, defaulting to activity</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-extended]</td>
<td valign="top" width="286">Profile page, defaulting to extended information</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-activity]</td>
<td valign="top" width="286">Profile page, defaulting to friends activity</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-settings]</td>
<td valign="top" width="286">Profile page, defaulting to settings</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-gallery]</td>
<td valign="top" width="286">Profile page, defaulting to gallery</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-personal]</td>
<td valign="top" width="286">Profile page, defaulting to personal information</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-friends]</td>
<td valign="top" width="286">Profile page, defaulting to friends</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-avatar]</td>
<td valign="top" width="286">Profile page, defaulting to avatar upload</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-stream]</td>
<td valign="top" width="286">Profile page, defaulting to all activity</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-following]</td>
<td valign="top" width="286">Profile page, defaulting to members following</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-menu]</td>
<td valign="top" width="286">Display the profile menu</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-member-header]</td>
<td valign="top" width="286">Display just the member profile page header</td>
</tr>
<tr>
<td valign="top" width="176"><strong>[</strong>symposium-following]</td>
<td valign="top" width="286">Profile page, default to show who they’re following</td>
</tr>
</tbody>
</table>
<div>
<h1>Other shortcodes</h1>
</div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="176"><b>Shortcode</b></td>
<td valign="top" width="286"><b>Purpose</b></td>
</tr>
<tr>
<td valign="top" width="176">none</td>
<td valign="top" width="286">&nbsp;</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/01/wp-symposium-codex-shortcodes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP Symposium Codex: WP Symposium Hooks and Filters</title>
		<link>http://www.wpsymposium.com/2013/01/codex-wp-symposium-hooks-and-filters/</link>
		<comments>http://www.wpsymposium.com/2013/01/codex-wp-symposium-hooks-and-filters/#comments</comments>
		<pubDate>Mon, 21 Jan 2013 00:11:53 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Admin Guide]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2760</guid>
		<description><![CDATA[Using WP Symposium hooks and filters.]]></description>
				<content:encoded><![CDATA[<div>
<p>Where examples are shown, the code should be added at the top of your theme’s functions.php file (after &lt;?php).</p>
</div>
<p>If you are using more than one function, make sure your function names are all different and unique on your site.</p>
<div>
<h1>Global</h1>
</div>
<p>__wps__email_body_filter</p>
<p>__wps__email_header_filter</p>
<p>__wps__integrity_check_hook</p>
<div>
<h1>Events</h1>
</div>
<p>__wps__my_events_page_filter</p>
<p>__wps__events_shortcode_filter</p>
<div>
<h1>Forum</h1>
</div>
<p>__wps__forum_newtopic_filter</p>
<p>__wps__forum_newreply_filter</p>
<p>__wps__forum_replies_filter</p>
<p>__wps__forum_topic_header_filter</p>
<p>__wps__forum_categories_header_filter</p>
<div>
<h1>Gallery</h1>
</div>
<div>
<h2>__wps__gallery_header</h2>
</div>
<p>Where: Before list of gallery albums<br />
Example: Insert message above gallery albums</p>
<pre>function my_own_function($html) {
          $help = "&lt;div style='font-style:italic;margin-bottom:10px'&gt;”Please only upload photos that are your own, or for which you have permission to share.&lt;/div&gt;";        
          return $help.$html;
 }
 add_filter('__wps__gallery_header', 'my_own_function');</pre>
<div>
<h1>Groups</h1>
</div>
<p>__wps__group_header_filter</p>
<div>
<h2>__wps__group_menu_tabs (horizontal menu)</h2>
</div>
<p>Where: As the horizontal menu structure is processed<br />
Example: Adds a link as a menu item, for a specific action, in this case go to Google website. “Go to Google=myaction” would be added to the menu structure.</p>
<pre>function my_own_function($title, $value, $gid, $member_of, $group) {
   if ($value == 'myaction')
     return '&lt;li onclick="document.location.href = \'http://www.google.com\'"&gt;'.$title.'&lt;/li&gt;';
 }
 add_filter('__wps__group_menu_tabs', 'my_own_function', 10, 5);</pre>
<div>
<h1>Lounge</h1>
</div>
<p>__wps__lounge_filter_top</p>
<div>
<h1>Mail</h1>
</div>
<p>__wps__sendmessage_filter</p>
<div>
<h1>Member Directory</h1>
</div>
<p>__wps__directory_member_filter</p>
<p>__wps__member_header_filter</p>
<div>
<h1>Profile</h1>
</div>
<p>__wps__send_poke_filter</p>
<p>__wps__wall_newpost_filter</p>
<p>__wps__wall_postreply_filter</p>
<p>__wps__wall_postreply_involved_filter</p>
<p>__wps__add_extended_field_filter</p>
<div>
<h1>__wps__profile_header_filter (vertical menu)</h1>
</div>
<p>Where: At bottom of profile menu<br />
Example: Add banner to top of profile page</p>
<pre>function my_own_function($html, $uid1, $uid2, $privacy, $is_friend, $extended, $share) {
          $banner = '&lt;div style="margin-bottom:10px;color:red;"&gt;';
          $banner .= 'Please take a look at the new forum!!!';
          $banner .= '&lt;/div&gt;';
          return $banner.$html;
 }
 add_filter('__wps__profile_header_filter', 'my_own_function', 10, 7);</pre>
<div>
<h2>__wps__profile_menu_end_filter (vertical menu)</h2>
</div>
<p>Where: At bottom of profile menu<br />
Example: Add link to bottom of profile menu to forum (“/discuss” only included as an example, will probably need changing)</p>
<pre>function my_own_function($html, $uid1, $uid2, $privacy, $is_friend, $extended, $share) {
          $html .= '&lt;a href="/discuss"&gt;Go to Forum&lt;/a&gt;';
          return $html;
 }
 add_filter('__wps__profile_menu_end_filter', 'my_own_function', 10, 7);</pre>
<div>
<h2>__wps__profile_born</h2>
</div>
<p>Context: By default, if day, month and year have been entered, the profile born date will follow the format as set in Profile options. If not all are available, a more generic format is used. However you can re-format the output yourself.<br />
Where: Display of member’s date of birth in profile header<br />
Example: This example will re-format to British display, and show separate year of birth and age (based on information available or not shown).</p>
<pre>function my_born_format($default, $day, $month, $year) {
         $return = '';    
         if ($day) {
                  $end_char = substr($day, strlen($day), 1);
                  switch ( $end_char ) {
                           case '1':
                                    $th = 'st';
                                    break;
                           case '2':
                                    $th = 'nd';
                                    break;
                           case '3':
                                    $th = 'rd';
                                    break;
                           default:
                                    $th = 'th';
                                    break;
                  }                
                  $return .= $day.$th.' ';
       }
       if ($month)
                  $return .= __wps__get_monthname($month);            
         if ($day || $month)
                  $return = 'Birthday: '.$return;                              
         if ($year) {
                  if ($return != '')
                           $return .= '&lt;br /&gt;';
                  $return .= 'Born: '.$year;                 
                  if ($day &amp;&amp; $month) {
                           $now = new DateTime("now");
                           $dob = new DateTime($year.'-'.$month.'-'.$day);
                           $interval = $dob -&gt;diff($now);
                           $years = $interval-&gt;format('%y');
                           $return .= ' ('.$interval-&gt;format('%y').' years old)';                 
                  }
         }
         return $return;  
}
add_filter( '__wps__profile_born', 'my_born_format', 10, 4 );</pre>
<div>
<h2>symposium_profile_entire_menu_filter (vertical menu)</h2>
</div>
<p>Where: At end of profile menu<br />
Example: Rename All Activity menu text to News Feed</p>
<pre>function my_own_function($html, $uid1, $uid2, $privacy, $is_friend, $extended, $share) {
          $html = str_replace('All Activity', 'News Feed', $html);
          return $html;
 }
 add_filter('symposium_profile_entire_menu_filter', 'my_own_function', 10, 7);</pre>
<div>
<h2>__wps__profile_menu_tabs (horizontal menu)</h2>
</div>
<p>Where: As the horizontal menu structure is processed<br />
Example: Adds a link as a menu item, for a specific action, in this case go to Google website. “Go to Google=myaction” would be added to the menu structure.</p>
<pre>function my_own_function($html,$title,$value,$uid1,$uid2,$privacy,$is_friend,$extended,$share) {  
    if ($value == 'myaction') {
       $html .= '&lt;li onclick="document.location.href = \'http://www.google.com\'"&gt;'.$title.'&lt;/li&gt;';
    }
    return $html;
 }
 add_filter('__wps__profile_menu_tabs', 'my_own_function', 10, 9);</pre>
<p>__wps__add_wps_personal_filter</p>
<p>__wps__friendrequest_filter</p>
<p>__wps__friendaccepted_filter</p>
<p>__wps__profile_wall_header_filter</p>
<p>__wps__profile_settings_before_ef_hook</p>
<p>__wps__profile_settings_hook</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/01/codex-wp-symposium-hooks-and-filters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release information for v13.02</title>
		<link>http://www.wpsymposium.com/2013/01/release-information-for-v13-02/</link>
		<comments>http://www.wpsymposium.com/2013/01/release-information-for-v13-02/#comments</comments>
		<pubDate>Wed, 02 Jan 2013 17:40:47 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[13.02]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2535</guid>
		<description><![CDATA[Release information for v13.02.]]></description>
				<content:encoded><![CDATA[<h1>Status</h1>
<p><strong>Current phase is: Released</strong></p>
<ul>
<li>Feature set scope complete (see below).</li>
<li>Development phase complete.</li>
<li>Testing phase complete.</li>
<li>Final cleanup complete.</li>
<li>Release date: Wednesday 13th February.</li>
<li>Admin Guide: Available <a title="Admin Guide" href="http://www.wpsymposium.com/admin-guide/">online</a>.</li>
</ul>
<p>Please see <a title="Release Schedule Update" href="http://www.wpsymposium.com/2012/09/release-schedule-update/">notes on the release schedule</a> for more information.</p>
<h1>Scope of v13.02</h1>
<p>A summary of the release changes is available in <a href="/wp-content/plugins/wp-symposium/release.txt" target="_blank">release.txt</a>.</p>
<p>_____Enhancements_____</p>
<p>PROFILE<br />
* Include Extended Fields in profile page header [1]<br />
* Date of birth format can now be set via profile options (if day, month and year have all been set)<br />
* Added __wps__profile_born filter to allow formatting of date of birth/age on profile page<br />
* Added profile_activity_image and profile_activity_gallery_first_image classes to allow control height</p>
<p>FORUM<br />
* New forum topic form defaults to current category<br />
* Admin&#8217;s can now create new forum topics even if blocked to other users<br />
* Added &#8216;Everyone&#8217; option to overall forum view/reply/comment permissions<br />
* Disabling replies now also disables comments<br />
* Message shown at bottom of forum topic if replies not allowed</p>
<p>MAIL<br />
* Bulk options now provided (reset your &#8220;Mail Page: Tray Item&#8221; template)<br />
* Delete selected mail items<br />
* Mark all mail as read (inbox only)<br />
* Delete all mail<br />
* Recover all deleted mail<br />
* Small improvement to layout of mail message</p>
<p>BRONZE: PANEL (CHAT) [2]/[3]<br />
* Chat windows completely re-written for stability<br />
* Smileys supported and URLs (that start with www.) converted into hyperlinks<br />
* New messages cause sound notification and title bar colour change<br />
* Chat windows can be turned into a separate browser chat window (so can leave the site/move around)<br />
* User&#8217;s can select their own notification sound via the profile community settings<br />
* Click on chat name to go to their page</p>
<p>BRONZE: PROFILE PLUS<br />
* Post an image to your activity (optional feature, set on &#8216;Plus&#8217; admin options)<br />
* Simplified management of vertical menu when scrolling (just one value now)</p>
<p>BRONZE: GROUPS<br />
* Horizontal menu with drop-down items now available for group page (activate on &#8216;Plus&#8217; admin options)</p>
<p>BRONZE: REPLY BY EMAIL<br />
* Displays next scheduled run time on admin options page<br />
* Added option in admin to check for waiting replies, but not actually process them<br />
* Added option to delete all from POP3 mailbox (to clear out)<br />
* Improved flow for email notifications</p>
<p>BRONZE: FACEBOOK CONNECT<br />
Updated admin page with examples<br />
Replaced method of retrieving Facebook User ID</p>
<p>CUBEPOINTS SUPPORT<br />
* Full support for CubePoints, see http://www.wpsymposium.com/2012/02/wp-symposium-cubepoints-module</p>
<p>OTHER<br />
* Tested up to WordPress v3.5.1<br />
* Added URL to &#8220;Report&#8221; sent to site administrator<br />
* Removed border on DIV in default email template (as looked odd when replying to forum via email)<br />
* Moved inclusion of javascript translations to bottom of &lt;body&gt; tag, just before it&#8217;s closed<br />
* Added additional reminder after installation/upgrade to visit installation page<br />
* Moved translations from dialogs.php to localized string (to avoid putting into DOM)<br />
* Moved PDF admin guide to online pages at www.wpsymposium.com<br />
* Added WPS icon to admin menu</p>
<p>_____Bug_Fixes_____</p>
<p>* Fixed link between extended fields and WordPress metadata (see note #1 below)<br />
* Improves stablity of table creation on installation<br />
* Ensures a 100% removal of WPS when uninstalling (all options, usermeta data, tables, etc).<br />
* Corrected www.wp__wps__.com in powered-by messages to www.wpsymposium.com<br />
* Fixed warnings when running WordPress in debug mode<br />
* Fixed bug for editing starting post in the forum<br />
* Fixed bug with WYSIWYG editor width<br />
* AJAX versions of widgets now loading okay, and not holding up page load<br />
* Default friends are now actual friends, not just a request<br />
* Gallery on WPMS installation bugs fixed<br />
* Events on WPMS installation bugs fixed<br />
* Friendship messages now sent from all requests<br />
* Other minor fixes</p>
<p>_____Notes_____</p>
<p>1. Remember that in WPMS installations, extended fields are network wide<br />
2. The Panel (chat) is now a Bronze member feature<br />
3. Chatroom no longer exists as part of the Panel</p>
<h1>What you should do after upgrading</h1>
<p>To be sure of a clean upgrade, you should do the following after upgrading an existing WP Symposium installation:</p>
<ul>
<li>Visit the Installation page</li>
<li>Reset the profile header, profile body page, group page templates and Mail Page: Tray Item. Don&#8217;t forget to save them!</li>
</ul>
<h1>New chat windows</h1>
<p>Previously, on some installations, chat windows would close occasionally. Therefore, the chat has been re-written. Please note:</p>
<ul>
<li>Totally new &#8216;chat&#8217; engine</li>
<li>Modern chat design</li>
<li>Chat window can be opened in a separate pop-up window</li>
<li>Chat can be cleared</li>
<li>The chatroom has been removed</li>
<li>Unlimited chat windows</li>
<li>The Panel is now a Bronze subscription feature</li>
<li>Recommended minimum polling interval on options is 10 seconds, but can vary depending on host</li>
</ul>
<h1>Including extended fields in profile header</h1>
<p>Simply add [ext_xxx] to the profile page header template, where xxx is the stub of the extended field, eg:</p>
<pre>&lt;div style='float:right'&gt;[poke]&lt;/div&gt;
&lt;div style='float:right'&gt;[follow]&lt;/div&gt;
&lt;div id='profile_name'&gt;[display_name]&lt;/div&gt;
&lt;div id='profile_header_div'&gt;
&lt;div id='profile_label'&gt;[profile_label]&lt;/div&gt;
&lt;div id='profile_header_panel'&gt;
&lt;div id='profile_photo' class='corners'&gt;[avatar,200]&lt;/div&gt;
&lt;div id='profile_details'&gt;
&lt;p&gt;[location]&lt;br /&gt;[born]&lt;/p&gt;
<strong>[ext_gender]
[ext_colour]
[ext_hobby]</strong>
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id='profile_actions_div'&gt;[actions]&lt;/div&gt;</pre>
<h1>How to manually upgrade to a release candidate</h1>
<p>It is very important (actually vital) when manually installing (or installing a release candidate), to:</p>
<ol>
<li>take a backup of your current wp-symposium plugin folder and database (&#8220;just in case&#8221;)</li>
<li>delete the current wp-symposium plugin folder via FTP - <strong>do not delete via WordPress admin-&gt;<strong>Plugins-&gt;Installed Plugins</strong> as this will delete all your WP Symposium content!!!</strong></li>
<li>upload the contents of the <a href="/downloadinstall">download</a> into your plugins folder (so that you have new wp-symposium folder with everything of inside of it and not old files hanging around)</li>
<li>re-activate the single WP Symposium plugin</li>
</ol>
<p>If you are manually installing the same version<strong> (ie. you are installing a newer release candidate, for example)</strong>, then you can skip steps 1 and 2. If you are upgrading from v12.10 to v12.11 (for example), then you should perform steps 1 and 2.</p>
<p>The download version is suffixed with NB for nightly build during development phase, or RC for release candidate during testing phase. If no suffix, current download is the same as available via <a href="http://wordpress.org/extend/plugins/wp-symposium/" target="_blank">wordpress.org</a>.</p>
<h1>Upgrading via WordPress admin</h1>
<p><em>Note: this is only applicable to the live release.</em></p>
<div>When you upgrade, you <em>must</em> do the following:</div>
<div></div>
<div>
<ol>
<li>As always recommended by WordPress, backup your site/database so you can rollback if you have to. There are <a href="http://wordpress.org/extend/plugins/search.php?q=backup" target="_blank">numerous plugins</a> to help you.</li>
<li>After upgrading, make sure that the single WP Symposium plugin is activated on your WordPress plugins page.</li>
<li>And then go to your installation page and activate the &#8220;features&#8221; (previously separate plugins) required. <strong><em>If using WordPress multi-site</em></strong>, network activate those &#8220;features&#8221; that you want all of your sites to have automatically activated, leaving the rest of the site admin&#8217;s to activate themselves</li>
<li>Finally, reset the Profile Page Header template (WP Symposium-&gt;Manage-&gt;Templates) and re-save. <strong><em>If using WordPress multi-site</em></strong>, you can update all your sites at once (checkbox beside save button).</li>
</ol>
</div>
<h1>Reporting errors with v13.02</h1>
<p>A dedicated <a href="/discuss/releases/bug-reports-for-v1302/">forum area</a> is available to report bugs found with v13.02.</p>
<h1>Admin Guide</h1>
<p>The admin guide has been updated to cover the current download, including the new way of activating WP Symposium features (previously plugins). It&#8217;s available as a PDF to <a href="https://dl.dropbox.com/u/49355018/wps.pdf" target="_blank">download</a> (19MB), but is being moved to an <a title="WP Symposium admin guide" href="http://www.wpsymposium.com/admin-guide">online version</a>.</p>
<h1>Previous Version</h1>
<p>Older versions of WP Symposium are available at the bottom of the <a href="/downloadinstall">download</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2013/01/release-information-for-v13-02/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Out Grown Current Server</title>
		<link>http://www.wpsymposium.com/2012/11/out-grown-current-server/</link>
		<comments>http://www.wpsymposium.com/2012/11/out-grown-current-server/#comments</comments>
		<pubDate>Tue, 27 Nov 2012 11:00:00 +0000</pubDate>
		<dc:creator>Robert, WPS Support</dc:creator>
				<category><![CDATA[News/update]]></category>
		<category><![CDATA[updates]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2425</guid>
		<description><![CDATA[Advance notice for site lock down during move to new host.]]></description>
				<content:encoded><![CDATA[<p>Due to the instability of current hosts, and latency from the US, &#8230;..</p>
<p>We will be on the move to a new server starting on <em><strong><span style="text-decoration: underline;">December 3<sup>rd</sup> thru the 11<sup>th</sup> 2012</span></strong>.</em></p>
<p>The move should not take this long we are just giving enough time so if there are any problems we can iron them all out before we go live.</p>
<p>During this time period posting in the forums will be closed. You will be able to read everything there as per normal.</p>
<p>You will   be able to use the contact for in case of a dire emergency to <a href="http://www.wpsymposium.com/contact/">Contact us</a>.</p>
<p>We do not plan of a new release until after the move as we want to make sure all is working well with the site and that no one will have a problem.</p>
<p style="text-align: left;" align="center">This notice period is required so that anyone with current issues can prepare, and ask advise prior to the lock-down!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/11/out-grown-current-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release information for v12.12</title>
		<link>http://www.wpsymposium.com/2012/11/release-information-for-v12-12/</link>
		<comments>http://www.wpsymposium.com/2012/11/release-information-for-v12-12/#comments</comments>
		<pubDate>Fri, 23 Nov 2012 21:10:46 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[TwentyTwelve]]></category>
		<category><![CDATA[v12.12]]></category>
		<category><![CDATA[WordPress 3.5]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2403</guid>
		<description><![CDATA[Removes the multiple plugins and is WordPress v3.5/TwentyTwelve theme compatible.]]></description>
				<content:encoded><![CDATA[<h1>Status</h1>
<p><strong>Current phase is: Released</strong></p>
<ul>
<li>Feature set scope is frozen, see below.</li>
<li>Development phase completed.</li>
<li>Testing phase is complete.</li>
<li>Final cleanup is complete.</li>
<li>Release date: 18th December.</li>
</ul>
<p>Please see <a title="Release Schedule Update" href="http://www.wpsymposium.com/2012/09/release-schedule-update/">notes on the release schedule</a> for more information.</p>
<h1>What is v12.12 doing (scope)?</h1>
<p>v12.12 is doing two main things:</p>
<ol>
<li>Addressing the problem multiple plugins cause on the WordPress repository. I am sorry that I can&#8217;t include any of the items queued for development, but I want to make the change a single discrete change, after the &#8220;challenges&#8221; some faced with the upgrade to previous version (no changes here like that one). However, it&#8217;s an important change and some may say over-due&#8230;.</li>
<li>Despite testing on the BETA versions we were caught out with changes to WordPress 3.5 itself, and the TwentyTwelve theme. v12.12 ensures compatibility with both.</li>
</ol>
<p>v12.12 also:</p>
<ul>
<li><strong>Updates the Profile Page Header template</strong> &#8211; make sure you refresh it and save (see below)! If you have made changes to this template, you should take a copy of your previous version first &#8220;just in case&#8221;.</li>
<li>Improves the layout of the<strong> Alerts page</strong>, and adds new parameter to <strong>[</strong>symposium-alerts<strong>]</strong> shortcode.</li>
<li>Can now <strong>update templates</strong> across all sites in multi-site installation</li>
<li>Fixes numerous <strong>bugs</strong></li>
<li><strong>Reduces the plugin size</strong> be excluding TinyMCE plugins not actually used by WP Symposium and reducing the size of the screenshots supplied for the WordPress repository</li>
</ul>
<p>In summary, the important points for v12.12 are:</p>
<ul>
<li>WP Symposium is a single plugin</li>
<li>features (formally individual plugins) are activated on the installation page</li>
<li>technically works the same way, but works better with the WordPress repository</li>
<li>features can be network activated by super admin users</li>
<li>the Bronze activation code applies to all networked sites</li>
</ul>
<h1>Profile Page Header template?</h1>
<p>After resetting, it should look like the following. You can copy and paste the version below to make sure!</p>
<pre>&lt;div style='float:right'&gt;[poke]&lt;/div&gt;
&lt;div style='float:right'&gt;[follow]&lt;/div&gt;
&lt;div id='profile_name'&gt;[display_name]&lt;/div&gt;
&lt;div id='profile_header_div'&gt;
&lt;div id='profile_label'&gt;[profile_label]&lt;/div&gt;
&lt;div id='profile_header_panel'&gt;
&lt;div id='profile_photo' class='corners'&gt;[avatar,200]&lt;/div&gt;
&lt;div id='profile_details'&gt;
&lt;p&gt;[location]&lt;br /&gt;[born]&lt;/p&gt;
&lt;div id='profile_actions_div'&gt;[actions]&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</pre>
<h1>Upgrading via WordPress admin</h1>
<div>When you upgrade, you <em>must</em> do the following:</div>
<div></div>
<div>
<ol>
<li>As always recommended by WordPress, backup your site/database so you can rollback if you have to. There are <a href="http://wordpress.org/extend/plugins/search.php?q=backup" target="_blank">numerous plugins</a> to help you.</li>
<li>After upgrading, make sure that the single WP Symposium plugin is activated on your WordPress plugins page.</li>
<li>And then go to your installation page and activate the &#8220;features&#8221; (previously separate plugins) required. <strong><em>If using WordPress multi-site</em></strong>, network activate those &#8220;features&#8221; that you want all of your sites to have automatically activated, leaving the rest of the site admin&#8217;s to activate themselves</li>
<li>Finally, reset the Profile Page Header template (WP Symposium-&gt;Manage-&gt;Templates) and re-save. <strong><em>If using WordPress multi-site</em></strong>, you can update all your sites at once (checkbox beside save button).</li>
</ol>
</div>
<div></div>
<h1>Manual upgrade</h1>
<p>It is very important (actually vital) when manually installing (or installing a release candidate), to:</p>
<ol>
<li>take a backup of your current wp-symposium plugin folder and database (&#8220;just in case&#8221;)</li>
<li>delete the current wp-symposium plugin folder via FTP - <strong>do not delete via WordPress admin-&gt;<strong>Plugins-&gt;Installed Plugins</strong> as this will delete all your WP Symposium content!!!</strong></li>
<li>upload the contents of the <a href="/downloadinstall">download</a> into your plugins folder (so that you have new wp-symposium folder with everything of inside of it and not old files hanging around)</li>
<li>re-activate the single WP Symposium plugin</li>
</ol>
<p>If you are manually installing the same version<strong> (ie. you are installing a newer release candidate, for example)</strong>, then you can skip steps 1 and 2. If you are upgrading from v12.10 to v12.11 (for example), then you should perform steps 1 and 2.</p>
<p>The download version is suffixed with NB for nightly build during development phase, or RC for release candidate during testing phase. If no suffix, current download is the same as available via <a href="http://wordpress.org/extend/plugins/wp-symposium/" target="_blank">wordpress.org</a>.</p>
<h1>What to expect after applying the upgrade</h1>
<p>After upgrading, you should return to your plugins page, and you may see this:<img title="" alt="" src="http://www.wpsymposium.com/wp-content/uploads/2012/09/Screen-Shot-2012-11-18-at-13.38.30.png" width="660" height="231" /></p>
<p>This is expected as there is now only one plugin as described above &#8211; refresh your plugin page and the warnings will not show again.</p>
<h1>Reporting errors with v12.12</h1>
<p>There is a <a href="http://www.wpsymposium.com/discuss/bug-reports-for-v1212/">dedicated forum category</a> for this purpose, please post v12.12 specific bugs and issues there, thank you.</p>
<h1>Admin Guide</h1>
<p>The admin guide has been updated to cover the current download, including the new way of activating WP Symposium features (previously plugins). It&#8217;s available as a PDF to <a href="https://dl.dropbox.com/u/49355018/wps.pdf" target="_blank">download</a> (19MB).</p>
<h1>Previous Version</h1>
<p>Older versions of WP Symposium are available at the bottom of the <a href="/downloadinstall">download</a> page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/11/release-information-for-v12-12/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>WP Symposium adds to support staff!</title>
		<link>http://www.wpsymposium.com/2012/11/wp-symposium-adds-to-support-staff/</link>
		<comments>http://www.wpsymposium.com/2012/11/wp-symposium-adds-to-support-staff/#comments</comments>
		<pubDate>Tue, 20 Nov 2012 00:10:07 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Robert]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2398</guid>
		<description><![CDATA[Please welcome Robert on board to help with WP Symposium support!]]></description>
				<content:encoded><![CDATA[<p>Please welcome Robert Dempsey (username <a href="http://www.wpsymposium.com/profile/robert/">Robert</a>) who will be over-seeing the forum and support. He is located in Tampa, Florida, so WP Symposium now has a office in the USA!</p>
<p>Robert has been on the internet for over 12 years now. During this time he has worked with numerous developers of site plug-ins and more, and having over 10 sites of his own knows some of the problems that can arise for you.</p>
<p>He has been associated with the developer at Caseproof for 3 years, of which he was heading up the support department there. He has also helped with development of their products along with developers of numerous other plug-ins and themes for WordPress.</p>
<p>Fortunately for us all, Robert loves working with WP Symposium and being able to help members as much as possible.  He might not get it right first time every time and may ask a lot of questions, but work with him as he&#8217;ll be doing that in order to offer his best support and learn about your website and how you use WP Symposium.</p>
<p>He is going to be working here to help with support of WP Symposium, which he has been testing and using from the start of the adventure! He runs &#8220;WPS&#8221; on all of his sites, and will therefore share the upgrades, new feature developments and testing with you.</p>
<p>He is normally on line from about 7AM EST till 10 or 11 PM  every day except the weekends. Every support problem and question is received by email to him and his computer yells at him when they arrive so he can answer in a timely fashion. He may not be able to answer instantly, but will answer as soon as he can, so we can keep you up and running.</p>
<p>Says Robert: &#8220;I am looking forward to a long and lasting relationship with everyone here. Please make me a friend so things can be run a little faster if and when you might have a problem. Being friends make things easier for both of us. :)&#8221;.</p>
<p>Please welcome Robert on board!</p>
<p>Simon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/11/wp-symposium-adds-to-support-staff/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Styling the horizontal profile/group menu</title>
		<link>http://www.wpsymposium.com/2012/11/styling-the-horizontal-profile-menu/</link>
		<comments>http://www.wpsymposium.com/2012/11/styling-the-horizontal-profile-menu/#comments</comments>
		<pubDate>Wed, 07 Nov 2012 12:06:59 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[v12.11]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2351</guid>
		<description><![CDATA[Learn how to style the horizontal menu for Profile (from v12.11) and Group (from v13.02) pages.]]></description>
				<content:encoded><![CDATA[<p>From v12.11 of WP Symposium, the profile page menu can be switched from a vertical menu to a horizontal menu, and from v13.02 so can the group menu. Full details can be found in the <a href="https://dl.dropbox.com/u/49355018/wps.pdf">WPS Admin Guide</a>, but briefly&#8230;</p>
<h2>Activate the horizontal menus</h2>
<p>With Profile Plus activated, on the WP Symposium-&gt;Options-&gt;Plus screen you can specify whether the menu on the profile page and group page is displayed vertically or horizontally (with drop down menus).</p>
<p>Once changed, visit the WP Symposium-&gt;Manage-&gt;Templates and switch the Profile Page Body template and the Group Page template by clicking on the link below the template area (and save!):</p>
<p><img class="aligncenter size-full wp-image-2352" title="new_template" alt="" src="http://www.wpsymposium.com/wp-content/uploads/2012/11/new_template.png" width="385" height="261" /></p>
<h2>Set the new menu items</h2>
<p>Go to the Profile options page to set and save your new Profile menu. Note that you can change any of the menu items (but leave the value to the right of the equals sign).</p>
<p>Finally, go to the Groups option page to set and save your new Group menu.</p>
<h2>Styling the menu</h2>
<p>The profile and group page will now display the horizontal menu with down-down items, for example:</p>
<p><img class="aligncenter size-full wp-image-2353" title="menu_tabs_old" alt="" src="http://www.wpsymposium.com/wp-content/uploads/2012/11/menu_tabs_old.png" width="560" height="133" /></p>
<p>By default, it&#8217;s neutral in terms of styles, and you may want to liven it up a bit and have it match your own site styles.</p>
<p>Easily done with a little CSS, go to WP Symposium-&gt;Styles-&gt;CSS and enter the following. Note the colours are fonts and awful &#8211; but they are used to show the change!!</p>
<pre class="brush:php">/* Top level */
ul.__wps__dropdown li {
    background-color: red;
    color: white;
    font-family: courier;
    font-size: 18px;
}
ul.__wps__dropdown li:hover {
    background-color: orange;
}

/* Second level */
ul.__wps__dropdown li li {
    background-color: green;
    color: yellow;
    font-family: helvetica,arial;
    font-size: 14px;
}
ul.__wps__dropdown li li:hover {
    background-color: blue;
}</pre>
<p>And the profile menu now looks like this (yuk!!):</p>
<p><img class="aligncenter size-full wp-image-2354" title="tabs_menu" alt="" src="http://www.wpsymposium.com/wp-content/uploads/2012/11/tabs_menu.png" width="566" height="133" /></p>
<p>Change the colours, fonts and other styles to make things a little more palatable!</p>
<h2>Adding menu items</h2>
<p>If you want to add menu items, you do so via filters, by adding a small bit of code into your theme&#8217;s functions.php file. Examples are included in the admin guide. Search for &#8220;__wps__profile_menu_tabs&#8221; and &#8220;__wps__group_menu_tabs&#8221; in Appendix 1. But as quick examples to add a link to Google on the Profile and Group menus when the action (to the right of the equals sign on the menu items):</p>
<pre class="brush:php">
// Profile page menu item
function my_own_function($html,$title,$value,$uid1,$uid2,$privacy,$is_friend,$extended,$share) {  
   if ($value == 'myaction')
      $html .= '<li onclick="document.location.href = \'http://www.google.com\'">'.$title.'</li>';
   return $html; 
}
add_filter('__wps__profile_menu_tabs', 'my_own_function', 10, 9);
</pre>
<pre class="brush:php">
// Group page menu item
function my_own_function2($html, $title, $value, $gid, $member_of, $group) {
  if ($value == 'myaction2')
    $html .= '<li onclick="document.location.href = \'http://www.google.com\'">'.$title.'</li>';
  return $html;
}
add_filter('__wps__group_menu_tabs', 'my_own_function2', 10, 6);
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/11/styling-the-horizontal-profile-menu/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>How is WP Symposium site built?</title>
		<link>http://www.wpsymposium.com/2012/09/how-is-wp-symposium-site-built/</link>
		<comments>http://www.wpsymposium.com/2012/09/how-is-wp-symposium-site-built/#comments</comments>
		<pubDate>Fri, 21 Sep 2012 13:14:02 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2248</guid>
		<description><![CDATA[Hosting, the theme and plugins, and styles used on www.wpsymposium.com.]]></description>
				<content:encoded><![CDATA[<p>The following is an overview of what is running on the WP Symposium site, how it is styled, plus a bit of other potentially interesting information.</p>
<h1>Hosting</h1>
<p>Hosted with <a title="Hybrid Sites" href="www.hybrid-sites.com" target="_blank">www.hybrid-sites.com</a>.</p>
<h1>Theme</h1>
<p>Using <a title="Figero on wordpress.org" href="http://wordpress.org/extend/themes/figero" target="_blank">Figero</a> theme.</p>
<h1>Plugins</h1>
<p><em>Excluding the WP Symposium plugins:</em></p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/akismet/" target="_blank">Akismet</a> (anti-spam)</li>
<li><a href="http://halfelf.org/plugins/ban-hammer/" target="_blank">Ban Hammer</a> (this plugin prevent people from registering with any email you list.)</li>
<li><a href="http://www.ait-pro.com/aitpro-blog/297/bulletproof-security-plugin-support/bulletproof-security-wordpress-plugin-support/" target="_blank">Bulletproof security</a> (security plugin)</li>
<li><a href="http://alkivia.org/wordpress/capsman" target="_blank">Capability Manager</a> (rarely used, but handy to manage user capabilities and roles)</li>
<li><a href="http://wordpress.org/extend/plugins/cron-view/" target="_blank">Cron GUI</a> (handy tool to check WordPress scheduled tasks)</li>
<li><a href="http://cubepoints.com/" target="_blank">CubePoints</a> (user reward system, for which there is a <a href="http://www.wpsymposium.com/2012/02/wp-symposium-cubepoints-module/">WP Symposium module</a>)</li>
<li><a href="http://strategy11.com/display-widgets/" target="_blank">Display Widgets</a> (Adds checkboxes to each widget to show or hide on site pages)</li>
<li><a href="http://chasepettit.com/" target="_blank">Features Posts Scroll</a> (a basic javascript based scrolling display of post titles and thumbnails)</li>
<li><a href="http://formidablepro.com/" target="_blank">Formidable</a> (quickly and easily create drag-and-drop forms)</li>
<li><a href="http://fischercreativemedia.com/wordpress-plugins/global-hide-admin-bar-plugin/" target="_blank">Global Hide/Remove Admin Bar Plugin</a> (easily add a global option to hide/remove the new Admin bar in WP 3.1+)</li>
<li><a href="http://txfx.net/wordpress-plugins/login-logo/" target="_blank">Login Logo</a> (replace logo on WordPress login page)</li>
<li><a href="http://yoast.com/wordpress/optimize-db/" target="_blank">Optimize DB</a> (tool used occasionally to check on WordPress database)</li>
<li><a href="http://www.megatome.com/syntaxhighlighter" target="_blank">Syntax Highlighter MT</a> (used when displaying code in posts)</li>
<li><a href="http://www.ultimateblogsecurity.com/" target="_blank">Ultimate Security Checker</a> (security plugin which performs all set of security checks on your WordPress installation)</li>
<li><a href="http://www.wangguard.com/" target="_blank">WangGuard</a> (reduces &#8220;sploggers&#8221;, spam bloggers)</li>
<li><a href="http://brandonwamboldt.ca/plugins/members-only-menu-plugin/" target="_blank">WordPress Access Control</a> (fine grained control over your pages and posts permissions)</li>
<li><a href="http://seedprod.com/wordpress-notification-bar/" target="_blank">WordPress Notification Bar</a> (global Notification Bar for WordPress)</li>
<li><a href="http://yourmembers.co.uk/" target="_blank">Your Members</a> &#8211; Membership Plugin (plugin allows paid subscription services within WordPress)</li>
</ul>
<h1>Custom development</h1>
<div>An additional plugin has been created to handle showing the activation code, and the <a href="/voting">voting page</a>.</div>
<div>The template for the home page has been altered to use tabbed login and register, or display basic information when logged in.</div>
<h1>Version of WP Symposium</h1>
<div>The site always uses the latest version of the code (including nightly builds and release candidates), available via the <a href="/downloadinstall">download</a> page.</div>
<h1>Stylesheet</h1>
<div>WP Symposium -&gt; Styles -&gt; are enabled, with the following settings:</div>
<div><img class="aligncenter size-full wp-image-2257" title="WP Symposium styles" src="http://www.wpsymposium.com/wp-content/uploads/2012/09/styles.png" alt="WP Symposium styles" width="868" height="1266" /></div>
<div>The following is the style code entered into the WP Symposium -&gt; Styles -&gt; CSS:</div>
<pre class="brush: css">/* Theme style changes */

input[type="text"] {
border: 1px solid #aaa !important;
border-radius: 3px !important;
}

#s {
border: 0 !important;
margin-top: -2px !important;
}

/* Mail */

.mail_item, .symposium_event_list_item {
padding-left: 5px !important;
}

/* Category */

.symposium-wrapper #symposium_table {
border: 0 !important;
}

.symposium-wrapper .row, .symposium-wrapper .row_odd {
border-radius: 5px !important;
margin-bottom: 5px !important;
padding-left: 0;
}
.symposium-wrapper .row:hover, .symposium-wrapper .row_odd:hover {
border-radius: 5px !important;
margin-bottom: 5px !important;
background-color: #ccc !important;
}
.symposium-wrapper .row {
background-color: #BDC4C2 !important;
}
.symposium-wrapper .row_odd {
background-color: #DBE4E1 !important;
}

.symposium-wrapper .row_link {
color: #333 !important;
text-decoration:none;
}
.symposium-wrapper .row_link:hover {
color: #000 !important;
text-decoration:underline !important;
}

/* Topic (starting post) */

.symposium-wrapper #starting-post {
border: 0 !important;
border-radius: 5px !important;
background-color: #cfc !important;
}
.symposium-wrapper .started-by a {
color: #333 !important;
font-weight: bold !important;
text-decoration:none;
}
.symposium-wrapper .started-by a:hover {
color: #000 !important;
font-weight: bold !important;
text-decoration:underline;
}

/* Replies */

.symposium-wrapper #child-posts {
border: 0 !important;
background-color: #fff !important;
}
.symposium-wrapper .child-reply {
width: 506px !important;
background-color: #ebebeb !important;
border-top: 5px solid #ebebeb !important;
border-bottom: 5px solid #ebebeb !important;
border-left: 10px solid #ebebeb !important;
border-right: 20px solid #ebebeb !important;
margin-bottom:10px !important;
margin-left: -10px !important;
border-radius:5px !important;
}

/* comments */
.reply-comments-box {
padding: 6px 6px 1px 6px !important;
background-color: #fff;
border-radius:5px;
-moz-box-shadow: inset 0 0 10px #000000;
-webkit-box-shadow: inset 0 0 10px #000000;
box-shadow: inset 0 0 10px #000000;
}

.page .entry-title { display: none; }

.new-topic-subject-input { width: 555px !important; }

.content-wrapper {
color: #333 !important;
line-height: 22px !important;
}
.content-container a {
color: #500050 !important;
text-decoration: underline !important;
}

h1 {
color: #A00000 !important;
}
h2 {
font-size: 18px !important;
}
h3 {
color: #000090 !important;
}

div.sidebar &gt; h3:nth-of-type(n+2) {
margin-top: 45px !important;
}

h1:nth-of-type(n+2) {
margin-top: 45px !important;
}

.content-info table, .content-info tr, .content-info td {
border: 0;
}
/* User tags */
.symposium_usertag {
text-decoration: none !important;
background-color: #ccc !important;
border-top:1px solid #ddd !important;
border-left:1px solid #ddd !important;
border-right:1px solid #666 !important;
border-bottom:1px solid #666 !important;
padding: 2px 4px 2px 4px !important;
border-radius:3px !important;
cursor:pointer !important;
}
.symposium_usertag:hover {
}
.symposium_usertag:active {
border-top:1px solid #666 !important;
border-left:1px solid #666 !important;
border-right:1px solid #ddd !important;
border-bottom:1px solid #ddd !important;
}

/* jQuery dialog box... */
.ui-dialog, .ui-dialog-content {
border:10px solid #450048;
background-color: #fff !important;
}
.ui-dialog-titlebar {
background-image: none;
background-color: #000;
}
#ui-dialog-title-dialog {
color: #fff !important;
text-shadow: none;
}
.ui-dialog-titlebar-close {
background-color: #fff;
}

/* autocomplete */
.ui-autocomplete {
border: 5px solid #e4741f;
}

/* Gallery specific... */
#symposium_photo_frame {
background-color: #666;
background-image: url('http://www.wpsymposium.com/wp-content/uploads/2012/01/body-bg.png');
border: 5px solid #e4741f;
}
.symposium_photo_thumbnail_border_off {
border: 2px solid #000;
}
.symposium_photo_thumbnail_border_on {
border: 2px solid #e4741f;
}
#symposium_photo_comments {
color: #000;
text-shadow: none;
}

/* Uploadify */
.uploadifyQueueItem {
background-color: #450048 !important;
border: 2px solid #e4741f;
font: 11px Verdana, Geneva, sans-serif;
margin-top: 5px;
padding: 10px;
width: 350px;
color: #fff !important;
}
.uploadifyError {
background-color: #000 !important;
border: 2px solid #e4741f !important;
}
.uploadifyQueueItem .cancel {
float: right;
}
.uploadifyQueue .completed {
background-color: #000;
}
.uploadifyProgress {
background-color: #000;
margin-top: 10px;
width: 100%;
}
.uploadifyProgressBar {
background-color: #e4741f;
height: 3px;
width: 1px;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/09/how-is-wp-symposium-site-built/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Release information for v12.11</title>
		<link>http://www.wpsymposium.com/2012/09/release-information-for-v12-11/</link>
		<comments>http://www.wpsymposium.com/2012/09/release-information-for-v12-11/#comments</comments>
		<pubDate>Fri, 21 Sep 2012 12:38:22 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[v12.11]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2239</guid>
		<description><![CDATA[Release status.]]></description>
				<content:encoded><![CDATA[<h1>Status</h1>
<p><strong>Current phase is: Released</strong></p>
<ul>
<li>Feature set scope is frozen as per the <a href="/voting">voting page</a>, excluding reported issues (see below).</li>
<li>Development phase has been completed.</li>
<li>Testing phase has been completed.</li>
<li>Final cleanup has started.</li>
<li>Release date 17th November 2012.</li>
</ul>
<p>Please see <a title="Release Schedule Update" href="http://www.wpsymposium.com/2012/09/release-schedule-update/">notes on the release schedule</a> for more information.</p>
<p><img title="Release Schedule" src="http://www.wpsymposium.com/wp-content/uploads/2012/09/schedule2.png" alt="Release Schedule" width="1058" height="578" /></p>
<h1>Upgrading automatically</h1>
<p>Via your WordPress admin, go to Dashboard-&gt;Updates to see if an upgrade is available. If it is, select WP Symposium under Plugins and upgrade. You will have to wait a minute or so probably whilst the new version of the plugin is download and installed.</p>
<p>After you have upgraded, if you experience problems with what is shown in the forum (for example), go to WP Symposium-&gt;Manage-&gt;Templates and click on the &#8220;reset to default&#8221; links below each text box and click Save. Forum Topics (list) is a likely candidate to reset.</p>
<p>You may see the following after upgrading:</p>
<p><img class="aligncenter size-full wp-image-2393" title="" src="http://www.wpsymposium.com/wp-content/uploads/2012/09/Screen-Shot-2012-11-18-at-13.38.30.png" alt="" width="660" height="231" /></p>
<p>Don&#8217;t panic &#8211; this is expected. If you get the above warnings, simply go to your Plugins-&gt;Installed Plugins and re-activate the WP Symposium plugins that you use. The reason is part of the standardisation of WP Symposium&#8217;s naming conventions in the code and filenames.</p>
<h1>Manual upgrade or installing Nightly Builds/Release Candidates</h1>
<p>It is very important (actually vital) when manually installing, to:</p>
<ol>
<li>take a backup of your current wp-symposium plugin folder and database</li>
<li>delete the current wp-symposium plugin folder via FTP - <strong>do not delete via WordPress admin-&gt;<strong>Plugins-&gt;Installed Plugins</strong> as this will delete all your WP Symposium content!!!</strong></li>
<li>upload the contents of the <a href="/downloadinstall">download</a> into your plugins folder (so that you have new wp-symposium folder with everything of inside of it)</li>
<li>re-activate your WP Symposium plugins (they will have been de-activated).</li>
</ol>
<p>If you are manual installing the same version<strong> (ie. you are installing a newer release candidate, for example)</strong>, then you can skip steps 1 and 2. If you are upgrading from v12.10 to v12.11 (for example), then you should perform steps 1 and 2.</p>
<p>After you have upgraded, if you experience problems with what is shown in the forum (for example), go to WP Symposium-&gt;Manage-&gt;Templates and click on the “reset to default” links below each text box and click Save. Forum Topics (list) is a likely candidate to reset.</p>
<h1>Download current version</h1>
<p>The current version is available via the WordPress repository and you can upgraded in the normal way via WordPress admin -&gt; Upgrade.</p>
<p>Alternatively, you can download the latest code manually, as running on www.wpsymposium.com, on the <a title="Download / Install" href="http://www.wpsymposium.com/downloadinstall/">Download</a> page. Following the instructions above.</p>
<p>Download version is suffixed with NB for nightly build during development phase, or RC for release candidate during testing phase. If not suffix, current download is the same as available via <a href="http://wordpress.org/extend/plugins/wp-symposium/" target="_blank">wordpress.org</a>.</p>
<h1>Reporting bugs</h1>
<p>A <a href="http://www.wpsymposium.com/discuss/releases/v1211/">dedicated area</a> on the forum is available for reporting bugs.</p>
<h1>Feature set</h1>
<p><em>The feature set for this release is as follows:</em></p>
<p><strong>Standardise on function prefix</strong><br />
Currently PHP functions sometimes include symposium_ and sometimes do not. Create a standard function naming topology whereby functions start with __wps__, eg: __wps__function_name().<br />
Rename files so they do not use the unnecessary symposium_ prefix.<br />
<strong><span style="color: #ff0000;">Important notes:<br />
</span></strong>1. The site search, if using the PHP code, will now be echo __wps__search(150) as per the notes on the Options-&gt;Plus admin page.<br />
2. If you are a developer and use the WP Symposium functions, please test your developments.<br />
3. If you have custom CSS entered, please check (use FireFox+FireBug to check IDs and CLASSes).<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong>Group &#8220;page&#8221;</strong><br />
To act as an introduction, welcome, instructions, whatever. Content entered by WYSIWYG editor. See <a href="http://www.wpsymposium.com/discuss/groups-plugin/groups-admin-questions/">here</a>.<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong><strong>Subscribe to all forum activity</strong><br />
</strong>Add admin option to enable this (off by default) as can &#8220;kill&#8221; some installations with large number of users.<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong>Forum images</strong><br />
Display in the order in which they are uploaded (earliest first).<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong>Add Directory sort option</strong><br />
Add an option to sort drop-down list to show by surname first. Surname is determined from the user&#8217;s display name (not the internal private last name field) where users have put at least two words separated by a space. For example, my display name is &#8220;Simon Goodchild&#8221;, so &#8220;Goodchild&#8221; can be picked up as my surname. If a user&#8217;s display name is one word, eg &#8220;Simon&#8221; that that would also be used as their surname. Also provide default view of member directory (via directory options).<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong>Maintain options over upgrade</strong><br />
Ensure option selections are preserved over upgrades. <a href="http://www.wpsymposium.com/discuss/bronzesilver-members-only/who-started-that-discussion">See here</a>.<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong>Allow &#8220;Friends&#8221; to be changed</strong><br />
Set up a new manage tab called Thesaurus and start with Friends<br />
<span style="color: #339966;">Status: Development complete, available in download. </span></p>
<p><strong>Don&#8217;t list empty gallery albums</strong><br />
If a gallery album is empty, do not include in the aggregated view.<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong>Profile Widget URLs</strong><br />
Check that all widgets go to the correct URLs (check all widgets). <a href="http://www.wpsymposium.com/discuss/general-topics/404-page-error-for-profiles/">See here</a>.<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong><strong>Add option to member directory shortcode</strong><br />
</strong>So you can limit roles to one or more. See <a href="http://www.wpsymposium.com/discuss/bronzesilver-members-only/is-it-possible-to-add-another-members-directory-on-separate-page-to-include-s2member-level-only/">here</a>.<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong><strong>Forum started/replied<br />
</strong></strong>Option to show both who started and last replied to a forum topic. <a href="http://www.wpsymposium.com/discuss/bronzesilver-members-only/who-started-that-discussion/">See here</a>. New installations will include codes in the template to show these by default. Those who are just upgrading will need to reset the <em>Forum Topics (list)</em> and <em>Group Forum Topics (list)</em> templates (under WP Symposium-&gt;Manage).<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong>Forum for high ranks</strong><br />
If using ranks, set Forum Categories to be visible to users with a certain rank or higher.<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong>Edit Gallery Comments</strong><br />
Make it so that gallery comments can be edited (user set timeout, and always for album owner and admin). Like with the forum.<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong>Allow selection of roles from bulk mail<br />
</strong>Allow users to select one or more WordPress roles (or all users) when sending out bulk mail via admin Options-&gt;Mail. See <a href="http://www.wpsymposium.com/discuss/mail-plugin/filter-bulk-email-sending-by-user-role/">here</a>.<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong>Profile page menu &#8211; horizontal/dropdown style<br />
</strong>A bonus item, added to the release for Profile Plus Bronze members. On Options-&gt;Profile Plus you can activate the new horizontal menu, as used on WPS site. Note that you can create your own menu structure (that appears on Options-&gt;Profile when the option is activated).<br />
<strong>Important!</strong> As informed on the Options-&gt;Profile Plus page below the activation checkbox, you will also need to change your Profile Page Body template (via Manage-&gt;Templates).<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong>Group forum &#8220;new topic&#8221; subscriptions<br />
</strong>Added as previously missing.<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<div>
<p><strong>@mentions included from all forums and activity posts<br />
</strong>Improved as previously only on forum.<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<div>
<p><strong>Dropdown list of forum categories for quick navigation<br />
</strong>Allows quick movement between forum categories &#8211; see Forum Options (Display).<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<div>
<p><strong>Admin&#8217;s can add a label to individual members<br />
</strong>Done so via Profile-&gt;Profile Details. Will also appear on member directory.<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
</div>
</div>
</div>
<p><strong>Template development tutorials<br />
</strong>Check they are updated and work to reflect the new standardised filename and function prefixes (etc).<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
<p><strong>Update Admin Guide<br />
</strong>Available to <a title="WP Symposium admin guide" href="https://dl.dropbox.com/u/49355018/wps.pdf" target="_blank">download</a> as a PDF.<br />
<span style="color: #339966;">Status: Development complete, available in download.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/09/release-information-for-v12-11/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Release Notes for v12.10</title>
		<link>http://www.wpsymposium.com/2012/09/release-notes-for-v12-10/</link>
		<comments>http://www.wpsymposium.com/2012/09/release-notes-for-v12-10/#comments</comments>
		<pubDate>Fri, 21 Sep 2012 12:26:54 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[v12.10]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2234</guid>
		<description><![CDATA[Release notes for v12.10 - site admin's please read!]]></description>
				<content:encoded><![CDATA[<p>With the new <a title="Release Schedule Update" href="http://www.wpsymposium.com/2012/09/release-schedule-update/">release schedule</a>, the following is using that approach and therefore this is the included feature set and reported fixes for v12.10.</p>
<p>As requested by many, this will allow bugs to be formally reported for a release and addressed, assisting in a more robust system. The next release will also focus on further stabilisation.</p>
<h1>Feature set</h1>
<p>The feature set for this release is as follows:</p>
<h2>New [<strong>symposium-gallery</strong>] shortcode to show profile page with gallery as default</h2>
<p>Shows the profile page, going straight to the gallery.<br />
<strong><span style="color: #ff0000;">Important note:</span></strong> The previous [<strong>symposium-gallery</strong>] to show all albums will change to [<strong>symposium-galleries</strong>] as these names make more sense.</p>
<h2>Fix for non-admin users to see “My Gallery”</h2>
<p>Fix the problem where only admin’s could see the My Gallery menu item.</p>
<h2>Fix for s2members plugin compatibility in terms of role selection for forum permissions</h2>
<p>Fix the issue with s2member roles with spaces.</p>
<h2>Do not permit blank group names</h2>
<p>Do not allow groups to be created without a name.</p>
<h2>Delete groups via Groups Admin</h2>
<p>Add a delete group link on the Groups Options page.</p>
<h2>Cubepoints WPS module to support likes/dislikes</h2>
<p>Extend the Cubepoints module to support likes and dislikes.</p>
<h2>symposium_profile_header and symposium_profile_header_public filters</h2>
<p>Add the filters.</p>
<h2>Tabbed options in admin (activate in Settings)</h2>
<p>Replace the long admin menu with a shorter menu, and tabs for options and manage. Provide an option on Setting to revert back to the longer version.Add comments to forum replies</p>
<p>Depending on roles chosen on Forum Options, permit users to add a quick comment to forum replies. If no roles selected, then disabled.</p>
<h1>Additional Fixes (as per bug reporting forum topic)</h1>
<ul>
<li>Images on forum (if displayed as links) bug</li>
<li>Check profile page redirect is working</li>
<li>Activity Stream still prompts for login :(</li>
<li>Alerts/Forum Reply E-mails Not Going Out</li>
<li>Admin Install Page v. Gallery</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/09/release-notes-for-v12-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release Information for v12.10</title>
		<link>http://www.wpsymposium.com/2012/09/release-information-for-v12-10/</link>
		<comments>http://www.wpsymposium.com/2012/09/release-information-for-v12-10/#comments</comments>
		<pubDate>Thu, 06 Sep 2012 09:26:56 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[v12.10]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2209</guid>
		<description><![CDATA[Release information for v12.10]]></description>
				<content:encoded><![CDATA[<h1>Status</h1>
<ul>
<li>Preparation is now complete.</li>
<li>The features for v12.10 have now been frozen (see below).</li>
<li>Development on new features as now been closed.</li>
<li>The current position in the release cycle is &#8220;Testing&#8221;.</li>
</ul>
<p>Please see <a title="Release Schedule Update" href="http://www.wpsymposium.com/2012/09/release-schedule-update/">notes on the release schedule</a> for more information.</p>
<p><img class="aligncenter size-full wp-image-2214" title="Release Schedule" src="http://www.wpsymposium.com/wp-content/uploads/2012/09/schedule2.png" alt="Release Schedule" width="1058" height="578" /></p>
<h1>Download current version</h1>
<p>You can download the latest code, as running on www.wpsymposium.com, on the <a title="Download / Install" href="http://www.wpsymposium.com/downloadinstall/">Download</a> page.</p>
<h1>Reporting bugs</h1>
<p>A <a href="http://www.wpsymposium.com/discuss/bug-reports-for-v1210/">dedicated area</a> on the forum is available for reporting bugs.</p>
<h1>Feature set</h1>
<p>The feature set for this release is as follows:</p>
<h2>New <strong>[</strong>symposium-gallery<strong>]</strong> shortcode to show profile page with gallery as default</h2>
<p>Shows the profile page, going straight to the gallery.<br />
<span style="color: #ff0000;"><strong>Important note:</strong></span> The previous <strong>[</strong>symposium-gallery<strong>]</strong> to show all albums will change to <strong>[</strong>symposium-galleries<strong>]</strong> as these names make more sense.<br />
<span style="color: #339966;"><em>Status: Complete</em> </span></p>
<h2>Fix for non-admin users to see &#8220;My Gallery&#8221;</h2>
<p>Fix the problem where only admin&#8217;s could see the My Gallery menu item.<br />
<span style="color: #339966;"><em>Status: Complete</em> </span></p>
<h2>Fix for s2members plugin compatibility in terms of role selection for forum permissions</h2>
<p>Fix the issue with s2member roles with spaces.<br />
<span style="color: #339966;"><em>Status: Complete </em></span></p>
<h2>Do not permit blank group names</h2>
<p>Do not allow groups to be created without a name.<br />
<span style="color: #339966;"><em>Status: Complete</em></span></p>
<h2>Delete groups via Groups Admin</h2>
<p>Add a delete group link on the Groups Options page.<br />
<span style="color: #339966;"><em>Status: Complete</em> </span></p>
<h2>Cubepoints WPS module to support likes/dislikes</h2>
<p>Extend the Cubepoints module to support likes and dislikes.<br />
<span style="color: #339966;"><em>Status: Complete</em></span></p>
<h2>symposium_profile_header and symposium_profile_header_public filters</h2>
<p>Add the filters.<br />
<span style="color: #339966;"><em>Status: Complete</em></span></p>
<h2><em></em>Tabbed options in admin (activate in Settings)</h2>
<p>Replace the long admin menu with a shorter menu, and tabs for options and manage. Provide an option on Setting to revert back to the longer version.<br />
<span style="color: #339966;"><em>Status: Complete</em></span></p>
<h2>Add comments to forum replies</h2>
<p>Depending on roles chosen on Forum Options, permit users to add a quick comment to forum replies. If no roles selected, then disabled.<br />
<span style="color: #339966;"><em>Status: Complete</em></span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/09/release-information-for-v12-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release Schedule Update</title>
		<link>http://www.wpsymposium.com/2012/09/release-schedule-update/</link>
		<comments>http://www.wpsymposium.com/2012/09/release-schedule-update/#comments</comments>
		<pubDate>Thu, 06 Sep 2012 08:48:13 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[release schedule]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2198</guid>
		<description><![CDATA[Important information on the new release schedule.]]></description>
				<content:encoded><![CDATA[<p>Thank you to all who have contributed to this topic both on the forum and via other means (email, etc). I am certainly taking on board everything that has been mentioned, especially the issue of stability, and therefore implementing the following release schedule.</p>
<p><img class="aligncenter size-full wp-image-2214" title="Release Schedule" alt="Release Schedule" src="http://www.wpsymposium.com/wp-content/uploads/2012/09/schedule2.png" width="1058" height="578" /></p>
<ul>
<li>Release official updates less often (proposing to aim for monthly, but longer if necessary, see below), weekly is too rapid, causing too many headaches. Less haste, more speed, and all that.</li>
<li>Aim to split the release schedule in two phases, the first &#8220;development phase&#8221; for fixes and new features, the second &#8220;testing phase&#8221; for only testing and bug fixing.</li>
<li>Declare a &#8220;Feature Freeze&#8221; for the scope of the first &#8220;development phase&#8221;, so that everyone knows what is being done for the next version, no need to guess or get unexpected changes.</li>
<li>During the &#8220;development phase&#8221;, to always provide a download version that mirrors the code running on the WPS site, to be renamed as the &#8220;nightly build&#8221; or &#8220;NB&#8221;  (the &#8220;use at your own risk&#8221; version). This allows users with specific reasons to get the latest version.</li>
<li>Once a version of the code includes all new features scoped out and has undergone local testing, it will be &#8220;locked&#8221; and only bug fixes will be applied from then on, no new features will be added &#8211; ie. the start of the second &#8220;testing phase&#8221;.</li>
<li>Only when the second &#8220;testing phase&#8221; has been satisfactorily completed, will the official release be made</li>
<li>Which &#8220;phase&#8221; is currently active, will be readily displayed at the top of the WPS website.</li>
</ul>
<p>This would mean that:</p>
<ol>
<li>this gives me at least two weeks to add new functionality (&#8220;development phase&#8221;), and then dedicated time to test and re-act to any others who are testing/using the release candidate (&#8220;testing phase&#8221;).</li>
<li>gives those who want to install and/or test the latest version of the code, the ability to do so via the nightly builds, with all latest features and changes.</li>
<li>with sufficient information in the release notes that are combined with an official release, updates can be skipped if not considered necessary by site admins.</li>
</ol>
<div>As a sort of disclaimer, although I would love to make WPS compatible with every other WordPress theme and plugin, realistically this is tough, as it depends on the 3rd party theme/plugin and there are some shockingly bad examples out there (and some superbly good ones too!). Therefore, unless an issue is generally effecting cohabitation with multiple themes/plugins, these would not hold up the release schedule.</div>
<p>Finally, I would stress that releases would only be made if there are no serious outstanding bugs to resolve.  With 2,000+ installations of the latest version, there are now enough users of WP Symposium out there to take this schedule and release management seriously.</p>
<p>The version number will reflect the anticipated month of release followed by either NB (for nightly build during development phase) or RC (for release candidate when in testing phase). On that basis, as at the time of posting this, I have made available v12.10 NB1 as a download. The Welcome Page within the installation includes changes made. Note that if the release month becomes November, for example, then the version will change to v12.11 at some point.</p>
<p><strong>As a final note, I can assure you that my dedication to WP Symposium has never been higher. It started in December 2010 as a spark of an idea, I&#8217;ve experienced several learning curves and I have met (virtually!) some fantastic people, who I continue to be humbled by. I also continue to learn almost everyday and truly believe that WP Symposium can continue to grow (and stabalise!) in ways as yet even to be realised.</strong></p>
<p>And as another final note&#8230; many other products were mentioned on this website have died off. I know a few of their developers, and the same thing caused their demise &#8211; the stress and time in providing support. Please be nice, we try our best! ;)</p>
<p>Thanks for reading,<br />
Simon</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/09/release-schedule-update/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Getting latest version, warning of holiday and what it means for WP Symposium support and PayPal disputes, please read, thanks.</title>
		<link>http://www.wpsymposium.com/2012/08/getting-latest-version-warning-of-holiday-and-what-it-means-for-wp-symposium-support-and-paypal-disputes-please-read-thanks/</link>
		<comments>http://www.wpsymposium.com/2012/08/getting-latest-version-warning-of-holiday-and-what-it-means-for-wp-symposium-support-and-paypal-disputes-please-read-thanks/#comments</comments>
		<pubDate>Tue, 14 Aug 2012 21:40:10 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Article]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2166</guid>
		<description><![CDATA[Holiday notice (impact on support and helpdesk) Support for WP Symposium will be impacted by holidays. As is traditional (can the second year be traditional?) during the holiday period WP Symposium releases and support will be effected as follows: No major new changes mid July to end of August (to avoid introducing major issues and [...]]]></description>
				<content:encoded><![CDATA[<h2>Holiday notice (impact on support and helpdesk)</h2>
<p><img title="holiday" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/holiday2.jpeg" alt="" width="550" height="296" /></p>
<p>Support for WP Symposium will be impacted by holidays. As is traditional (can the second year be traditional?) during the holiday period WP Symposium releases and support will be effected as follows:</p>
<ul>
<li>No major new changes mid July to end of August (to avoid introducing major issues and not able to respond quickly)</li>
<li>Release Candidate (following v12.09) is <a href="/downloadinstall">available to anyone</a> who wishes to try the latest code at your own risk</li>
<li>WPS Developer (<a href="/members/simon" target="_blank">Simon</a>) will not be able to provide support on the forum</li>
<li>The Silver membership Helpdesk will not be in operation</li>
<li>Resolution of any membership of PayPal disputes will be dealt with ASAP as soon as back</li>
</ul>
<p>Really sorry, hope you understand. The dates when holidays will be in &#8220;operation&#8221; are:</p>
<ul>
<li>28th July &#8211; 8th August</li>
<li>15th August &#8211; 3rd September</li>
</ul>
<p>The forum has some awesome contributors who offer support and as always my humble thanks to them for support in the past, now and in the future.</p>
<h2>Getting latest version</h2>
<p>The version of WP Symposium (as used on www.wpsymposium.com) is available to everyone on the WP Symposium <a href="/downloadinstall">Download</a> page.</p>
<p>If you are experiencing problems, they may have been fixed in the latest version of the plugin(s), and you can give the current release candidate a go.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/08/getting-latest-version-warning-of-holiday-and-what-it-means-for-wp-symposium-support-and-paypal-disputes-please-read-thanks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Release Notes for v12.09</title>
		<link>http://www.wpsymposium.com/2012/08/release-notes-for-v12-09/</link>
		<comments>http://www.wpsymposium.com/2012/08/release-notes-for-v12-09/#comments</comments>
		<pubDate>Wed, 08 Aug 2012 21:23:03 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[album]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[v12.09]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2140</guid>
		<description><![CDATA[Set profile page menu text (and what is shown), plus gallery album managed through the album (including drag and drop ordering)]]></description>
				<content:encoded><![CDATA[<p><em>Please be sure to <a href="http://www.wpsymposium.com/?p=2016">read the notes</a> about holiday, support and such things as PayPal disputes over the rest of August.</em></p>
<p>Also a reminder that the week following the release on v12.09 I will focus on any feedback on bugs and put out a patch prior to the second holiday period. Following my return in September, it&#8217;s all back to normality (define normality within your own view of the world&#8230;.).</p>
<h2>Set which profile menu items appear</h2>
<p>On the profile page you can now choose which profile menu items appear on your page, and on other member&#8217;s pages.</p>
<h2>Change the text of profile menu items</h2>
<p>And you can change the text of the profile menu items (again a version for your page, and other member&#8217;s pages).</p>
<h2>Option to move profile menu down as page scrolls</h2>
<p>An option now exists on the Profile Plus admin page to &#8220;stick&#8221; the profile page menu on the page as it is scrolled down, keeping it in view.</p>
<h2>Gallery photos now managed through dialog box viewer</h2>
<p>To reduce the number of places you have to &#8220;go to&#8221;, your galleries are now managed whilst viewing it, including:</p>
<ul>
<li>Drag and drop thumbnails to re-order your gallery photos</li>
<li>Rename gallery photo as you look at it</li>
<li>Set current photo in gallery to album cover image</li>
</ul>
<p>And therefore the button to manage albums has been removed from Gallery page.</p>
<h2>Where possible, WPS will not load unnecessary scripts</h2>
<p>Although this won&#8217;t have a major impact, WPS scripts are now only loaded strictly when needed by the page.</p>
<p>photo credit: <a href="http://www.flickr.com/photos/blackbutterfly/2304084815/">Jerrycharlotte</a> via <a href="http://photopin.com">photo pin</a> <a href="http://creativecommons.org/licenses/by-nc/2.0/">cc</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/08/release-notes-for-v12-09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>v12.09 Release Candidate 4</title>
		<link>http://www.wpsymposium.com/2012/07/v12-09-release-candidate-4/</link>
		<comments>http://www.wpsymposium.com/2012/07/v12-09-release-candidate-4/#comments</comments>
		<pubDate>Tue, 24 Jul 2012 09:17:17 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[12.09]]></category>
		<category><![CDATA[profile]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2124</guid>
		<description><![CDATA[Changes since release candidate 3 are: Fix for viewing albums by other users in activity stream (when using file system to store images) Able to set whether profile menu items appear on your own and other members profile pages Able to set the text of profile menu items on your own and other members profile [...]]]></description>
				<content:encoded><![CDATA[<h2><img class="aligncenter size-full wp-image-2126" title="menu" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/menu.png" alt="" width="555" height="180" /></h2>
<p>Changes since release candidate 3 are:</p>
<ol>
<li>Fix for viewing albums by other users in activity stream (when using file system to store images)</li>
<li>Able to set whether profile menu items appear on your own and other members profile pages</li>
<li>Able to set the text of profile menu items on your own and other members profile pages</li>
<li>A number of minor bug fixes</li>
</ol>
<p>Item 2 and 3 are set via the Symposium-&gt;Profile page.</p>
<h2>Release Schedule</h2>
<p>Because of the holidays planned, the longer testing period has proven to be very worthwhile, and therefore I am planning to:</p>
<ul>
<li>Provide this and possibly one more release candidate before the 29th July if required</li>
<li>Release as v12.09 on 8th August (live release)</li>
<li>Be available for support issues (and react to anything raised during 29th July &#8211; 7th August)</li>
<li>Enter second holiday period 15th August &#8211; 2nd September</li>
<li>Return and work on problems reported, next steps, life in general&#8230;</li>
</ul>
<h2>Email Newsletters</h2>
<p>Why not <a title="Sign up for the WP Symposium Newsletter" href="http://eepurl.com/nD5v1" target="_blank">receive release notes via email</a>? You can also view the past <a title="Newsletter Archive" href="http://us5.campaign-archive2.com/home/?u=015cfddf697ce55b0cac49a99&amp;id=9098d67cbe" target="_blank">newsletter archive</a>.</p>
<h2>Reminder about holidays</h2>
<p>Support will be impacted by holiday season. I won&#8217;t keep repeating it, but please read <a href="http://www.wpsymposium.com/2012/07/release-notes-for-v12-07-14/">this blog post</a>. Forum, Helpdesk and PayPal disputes will be affected, sorry.</p>
<p>photo credit: <a href="http://www.flickr.com/photos/photowannabe/142876630/">Photoportunity</a> via <a href="http://photopin.com">photo pin</a> <a href="http://creativecommons.org/licenses/by-nd/2.0/">cc</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/07/v12-09-release-candidate-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Changing the Profile page menu text</title>
		<link>http://www.wpsymposium.com/2012/07/changing-the-profile-page-menu-text/</link>
		<comments>http://www.wpsymposium.com/2012/07/changing-the-profile-page-menu-text/#comments</comments>
		<pubDate>Sat, 21 Jul 2012 19:19:50 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[profile]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2101</guid>
		<description><![CDATA[[Edit: From v12.09 this is no longer necessary, and the menu items for your profile page, and other member's profile pages can be switched on/off and the text changed on the profile page.] The default menu items (My Activity, All Activity, etc) may not fit your site and you might want to change them to [...]]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-2129" title="functions" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/functions2.png" alt="" width="555" height="180" /></p>
<p><em><strong>[Edit: From v12.09 this is no longer necessary, and the menu items for your profile page, and other member's profile pages can be switched on/off and the text changed on the profile page.]</strong></em></p>
<p>The default menu items (My Activity, All Activity, etc) may not fit your site and you might want to change them to something more relevant to your site content and membership.</p>
<p>From v12.09 (RC3) this can be achieved through the use of WordPress filters. Don&#8217;t panic! Follow these steps, you don&#8217;t need to be a coding wiz, and then change the examples to the text you want.</p>
<p><strong>Step 1:</strong> Make sure you have at least WP Symposium v12.09 Release Candidate 3 installed. This is not the current live version. It is available from the <a title="Download / Install" href="http://www.wpsymposium.com/downloadinstall/">download page</a>.</p>
<p><strong>Step 2:</strong> Locate functions.php file</p>
<p>This file is (should be in any half decent theme&#8230;) located in your themes folder. Let&#8217;s use TwentyEleven theme as an example. Browsing the folder structure I get to&#8230;</p>
<p><img class="aligncenter size-full wp-image-2102" title="folder_dir" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/folder_dir.png" alt="" width="214" height="590" /></p>
<p>And expanding that folder I see all my theme files, including functions.php:</p>
<p><img class="aligncenter size-full wp-image-2103" title="functions" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/functions.png" alt="" width="300" height="686" /></p>
<p>Now we need to edit that file. If it&#8217;s on your web server and not your local computer, use an FTP client (such as <a href="http://filezilla-project.org/" target="_blank">FileZilla</a>) to copy the file down to your computer to edit it.</p>
<p>Edit the file with any plain text editor (like Notepad on Windows or TextEdit on Mac). When you open it, ignore the contents, we&#8217;re going to add some text at the top.</p>
<p>Put your cursor on the line after &lt;?php (at the top) and hit Return a few times to make space:</p>
<p><img class="aligncenter size-full wp-image-2104" title="edit1" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/edit1.png" alt="" width="780" height="489" /></p>
<p>Now copy and paste the following into that space:</p>
<pre>function my_own_function($html, $uid1, $uid2, $privacy, $is_friend, $extended, $share) { 
    $html = str_replace('All Activity', 'News Feed', $html); 
    return $html; 
} 
add_filter('symposium_profile_entire_menu_filter', 'my_own_function', 10, 7);</pre>
<p>So it looks like this:</p>
<p><img class="aligncenter size-full wp-image-2117" title="functions" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/functions1.png" alt="" width="612" height="453" /></p>
<p><em>Important note: my_own_function has to be a unique function name. It would be sensible to call it something like &#8216;yoursitename_extend_profile_menu&#8217; (or something you are sure will be unique. You need to change it on the first line (after the word function) and on the last line (where it starts add_filter).</em></p>
<p>Save the file. If you used FTP to copy the file down from your web server, use FTP again to copy it back up (over-writing the previous version). As a safety measure, you might want to take a copy of the original &#8211; then you can just revert things back if you&#8217;ve messed up anywhere!</p>
<p><strong>Step 3:</strong> Have a look at your Profile Page</p>
<p>The menu item will have changed from this:</p>
<p><img class="aligncenter size-full wp-image-2106" title="profile1" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/profile1.png" alt="" width="597" height="363" /></p>
<p>To this:</p>
<p><img class="aligncenter size-full wp-image-2107" title="profile2" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/profile2.png" alt="" width="586" height="357" /></p>
<p><strong>Step 4:</strong> Change the example text of &#8216;News Feed&#8217; to something you would rather have.</p>
<p>Job done. Well done. Make yourself a nice cup of tea.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/07/changing-the-profile-page-menu-text/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>v12.09 Release Candidate 3</title>
		<link>http://www.wpsymposium.com/2012/07/v12-09-release-candidate-3/</link>
		<comments>http://www.wpsymposium.com/2012/07/v12-09-release-candidate-3/#comments</comments>
		<pubDate>Sat, 21 Jul 2012 09:59:37 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[v12.09 RC3]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2092</guid>
		<description><![CDATA[Latest information on new features of v12.09 Release Candidate 3]]></description>
				<content:encoded><![CDATA[<h2>Email Newsletters</h2>
<p>Why not <a title="Sign up for the WP Symposium Newsletter" href="http://eepurl.com/nD5v1" target="_blank">receive release notes via email</a>? You can also view the past <a title="Newsletter Archive" href="http://us5.campaign-archive2.com/home/?u=015cfddf697ce55b0cac49a99&amp;id=9098d67cbe" target="_blank">newsletter archive</a>.</p>
<h2>Reminder about holidays</h2>
<p>Support will be impacted by holiday season. I won&#8217;t keep repeating it, but please read <a href="http://www.wpsymposium.com/2012/07/release-notes-for-v12-07-14/">this blog post</a>. Forum, Helpdesk and PayPal disputes will be affected, sorry.</p>
<h2>v12.09 Release Candidate 3</h2>
<p>Not release notes, but progress on release candidate 3 (v12.09). As previously mentioned, over the holiday season I won&#8217;t be putting out a release that could then fall in to the trap of not having support if something big goes wrong.</p>
<p>But for those who want to keep up to date, the release candidates of v12.09 will include new additions. <a title="Download / Install" href="http://www.wpsymposium.com/downloadinstall/">Release Candidate 3</a> includes:</p>
<ul>
<li>Option to move profile menu down as page scrolls</li>
<li>Gallery photos now managed through dialog box viewer</li>
<li>Drag and drop thumbnails to re-order your gallery photos</li>
<li>Rename gallery photo as you look at it</li>
<li>Set current photo in gallery to album cover image</li>
<li>Manage button removed from Gallery page (not needed)</li>
<li>Where possible, WPS will not load unnecessary scripts</li>
</ul>
<p>I am trying to get the admin guide completed before the end of July when I&#8217;m not around, and the current version is accurate up to v12.09 RC3, including the above.</p>
<p><a href="https://dl.dropbox.com/u/49355018/wps.pdf" target="_blank">Take a look by downloading the PDF</a> (100+ pages, 14MB).</p>
<p>photo credit: <a href="http://www.flickr.com/photos/yogendra174/5914445543/">Yogendra174</a> via <a href="http://photopin.com">photo pin</a> <a href="http://creativecommons.org/licenses/by/2.0/">cc</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/07/v12-09-release-candidate-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release Notes for v12.07.14</title>
		<link>http://www.wpsymposium.com/2012/07/release-notes-for-v12-07-14/</link>
		<comments>http://www.wpsymposium.com/2012/07/release-notes-for-v12-07-14/#comments</comments>
		<pubDate>Sat, 14 Jul 2012 13:45:08 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[v12.07.14]]></category>
		<category><![CDATA[welcome]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=2016</guid>
		<description><![CDATA[A new welcome page and number of small and sexy improvement. Sexy? Well, maybe useful.]]></description>
				<content:encoded><![CDATA[<p><em><a title="Release names" href="http://www.wpsymposium.com/blog/release-names/">Code release name</a>: Douglas Adams</em></p>
<h2>Email Newsletters</h2>
<p>Why not <a title="Sign up for the WP Symposium Newsletter" href="http://eepurl.com/nD5v1" target="_blank">receive release notes via email</a>? You can also view the past <a title="Newsletter Archive" href="http://us5.campaign-archive2.com/home/?u=015cfddf697ce55b0cac49a99&amp;id=9098d67cbe" target="_blank">newsletter archive</a>.</p>
<h2>Holiday notice (impact on support and helpdesk)</h2>
<p><img class="aligncenter size-full wp-image-2049" title="holiday" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/holiday2.jpeg" alt="" width="550" height="296" /></p>
<p>Support for WP Symposium will be impacted by holidays. As is traditional (can the second year be traditional?) during the holiday period WP Symposium releases and support will be effected as follows:</p>
<ul>
<li>No major new changes mid July to end of August (to avoid introducing major issues and not able to respond quickly)</li>
<li>Release Candidate (v12.09) is <a href="/downloadinstall">available to anyone</a> who wishes to try our latest code at own risk</li>
<li>WPS Developer (<a href="/members/simon" target="_blank">Simon</a>) will not be able to provide support on the forum</li>
<li>The Silver membership Helpdesk will not be in operation</li>
<li>Resolution of any membership of PayPal disputes will be dealt with ASAP as soon as back</li>
</ul>
<p>Really sorry, hope you understand. The dates when holidays will be in &#8220;operation&#8221; are:</p>
<ul>
<li>28th July &#8211; 8th August</li>
<li>15th August &#8211; 2nd September</li>
</ul>
<p>The forum has some awesome contributors who offer support and as always my humble thanks to them for support in the past, now and in the future.</p>
<h2>Welcome page</h2>
<p>After installing or upgrading a more useful welcome page is shown with information on latest changes (in the new release), some get started links and where to find help. Negates the need for Release notes menu item.</p>
<p>You can remove the welcome page with the dismiss links shown. If you want to take another look there&#8217;s a new menu item called &#8220;Welcome message&#8221;.</p>
<h2>Events (listings)</h2>
<p>Added options for hiding expired events and swapping the order (chronologically). This can be found on the Events Setting page.</p>
<p><img class="aligncenter size-full wp-image-2022" title="events_order" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/events_order.png" alt="" width="479" height="69" /></p>
<h2>Events start/end time</h2>
<p>Ensures that event end date is after its start date.</p>
<h2>Forum context menu</h2>
<p>Add an option as to whether or not to include this plugin. This is a setting on the Forum Setting page.</p>
<p style="text-align: center;"><a href="http://www.wpsymposium.com/wp-content/uploads/2012/07/context_menu.png"><img class="size-full wp-image-2023 aligncenter" title="context_menu" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/context_menu.png" alt="" width="479" height="28" /></a></p>
<p>With the option selected, the TinyMCE context menu is shown if the right mouse button is clicked:</p>
<p><img class="aligncenter size-full wp-image-2024" title="editor_on" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/editor_on.png" alt="" width="251" height="256" /></p>
<p>With the option switch off, the default browser menu will show, matching how the internal editor in WordPress operates:</p>
<p><img class="aligncenter size-full wp-image-2025" title="editor_off" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/editor_off.png" alt="" width="388" height="279" /></p>
<h2>Forum inline images</h2>
<p>Uploaded images assumed lower case extensions &#8211; fix so that it&#8217;s not important.</p>
<h2>Forum reply (double posts)</h2>
<p>Hide the reply form on the forum after replying. Re-shown if using AJAX after 3 seconds. If reloading the page, do not reshow (until the page has reloaded). Should stop any double replies (or more!).</p>
<h2>Integrity check</h2>
<p>Add routine to removed orphaned friendships (when a user has been deleted from WordPress)</p>
<h2>Mail templates</h2>
<p>Put templates back for mailboxitems and mailmessage</p>
<h2>Minor glitches with extended fields defined as list</h2>
<p>Fix issue with certain field types when migrating (previous versions).</p>
<h2>Profile activity images</h2>
<p>When the profile image is clicked, a larger version is shown in a dialog box. Particularly applicable to those with narrow activity area (previously added images won&#8217;t zoom, sorry).</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/07/release-notes-for-v12-07-14/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memory limit error in WordPress</title>
		<link>http://www.wpsymposium.com/2012/07/memory-limit-error-in-wordpress/</link>
		<comments>http://www.wpsymposium.com/2012/07/memory-limit-error-in-wordpress/#comments</comments>
		<pubDate>Tue, 10 Jul 2012 09:19:29 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[memory limit]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1988</guid>
		<description><![CDATA[Solvig the PHP memory limit error with WordPress in PHP.INI and wp-includes/default-constants.php.]]></description>
				<content:encoded><![CDATA[<p>More a general note about WordPress that you may find useful if you come across the PHP error &#8220;Solve PHP Fatal Error: Allowed memory size of 8388608 bytes exhausted&#8221;. I doubt the number will be the same, but the error certainly will be, and have a similar effect to it has on me when I see it. That is, ugh, what the flip?</p>
<p>However, panic yee not. There are two things to look at that can resolve memory limit problems.</p>
<p>First in your PHP.INI file (contact your hosting company for more info on where your site&#8217;s PHP.INI file is) is a setting which can be changed. The file can be edited with a text editor, search for:</p>
<pre>ini_set("memory_limit","12M");</pre>
<p>and increase the 12M (or whatever yours is set at) to a higher value. M stands for megabytes.</p>
<p>The second place, which solved my memory limit problem after hunting around Google is as follows. It&#8217;s a part of the WordPress installation. The following exists in wp-includes/default-constants.php which can also be edited with a text editor and changed accordingly:</p>
<pre>// set memory limits
if ( !defined('WP_MEMORY_LIMIT') ) {
    if( is_multisite() ) {
        define('WP_MEMORY_LIMIT', '64M');
    } else {
        define('WP_MEMORY_LIMIT', '32M');
    }
}</pre>
<pre>if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) {
    define( 'WP_MAX_MEMORY_LIMIT', '256M' );
}</pre>
<p>Again, the M stands for mega-bytes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/07/memory-limit-error-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hiding options on Community Settings</title>
		<link>http://www.wpsymposium.com/2012/07/hiding-options-on-community-settings/</link>
		<comments>http://www.wpsymposium.com/2012/07/hiding-options-on-community-settings/#comments</comments>
		<pubDate>Sun, 08 Jul 2012 21:43:30 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[profile]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1984</guid>
		<description><![CDATA[You may want to hide one or more of the options on the community settings of a member&#8217;s profile page. This is easily accomplished with CSS which you can enter in Symposium-&#62;Styles-&#62;CSS in the WordPress admin dashboard. Step 1: Use Firefox with the Firebug add-on to identify the ID of the section you wish to [...]]]></description>
				<content:encoded><![CDATA[<p>You may want to hide one or more of the options on the community settings of a member&#8217;s profile page. This is easily accomplished with CSS which you can enter in Symposium-&gt;Styles-&gt;CSS in the WordPress admin dashboard.</p>
<p>Step 1: Use Firefox with the Firebug add-on to identify the ID of the section you wish to hide, or select it from the following list which should be self explanatory:</p>
<ul>
<li>symposium_settings_firstname</li>
<li>symposium_settings_lastname</li>
<li>symposium_settings_displayname</li>
<li>symposium_settings_email</li>
<li>symposium_settings_signature</li>
<li>symposium_settings_notify_new_messages</li>
<li>symposium_settings_notify_new_wall</li>
<li>symposium_settings_notify_likes</li>
<li>symposium_settings_forum_all</li>
<li>symposium_settings_password</li>
</ul>
<p>Step 2: Enter the following into the CSS box in Symposium-&gt;Styles-&gt;CSS (changing where appropriate to the ID you&#8217;ve chosen from the above list:</p>
<p>#symposium_settings_signature {<br />
display: none;<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/07/hiding-options-on-community-settings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release Notes for v12.07.07</title>
		<link>http://www.wpsymposium.com/2012/07/release-notes-for-v12-07-07/</link>
		<comments>http://www.wpsymposium.com/2012/07/release-notes-for-v12-07-07/#comments</comments>
		<pubDate>Sat, 07 Jul 2012 13:49:36 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[dislike]]></category>
		<category><![CDATA[like]]></category>
		<category><![CDATA[v12.07.07]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1966</guid>
		<description><![CDATA[Likes and dislikes on activity!]]></description>
				<content:encoded><![CDATA[<p><em>Release Code Name: EllsWeb</em></p>
<h2>Like on Activity Posts (Part of Profile Plus, Bronze members)</h2>
<p>You can now like, and dislike, posts on members activity, and any of the replies. This needs to be activated on the Profile Plus admin page:</p>
<p><img class="aligncenter size-full wp-image-1969" title="Screen shot 2012-07-07 at 14.40.08" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/Screen-shot-2012-07-07-at-14.40.08.png" alt="" width="465" height="32" /></p>
<p>If only you have liked or disliked it will show &#8220;You&#8221; (or your username if someone else is looking).</p>
<p><img class="aligncenter size-full wp-image-1968" title="Screen shot 2012-07-07 at 14.38.24" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/Screen-shot-2012-07-07-at-14.38.24.png" alt="" width="375" height="418" /></p>
<p><img class="aligncenter size-full wp-image-1971" title="Screen shot 2012-07-07 at 14.42.27" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/Screen-shot-2012-07-07-at-14.42.27.png" alt="" width="378" height="461" /></p>
<p><img class="aligncenter size-full wp-image-1972" title="Screen shot 2012-07-07 at 14.42.39" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/Screen-shot-2012-07-07-at-14.42.39.png" alt="" width="378" height="422" /></p>
<p><img class="aligncenter size-full wp-image-1977" title="Screen shot 2012-07-07 at 14.58.36" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/Screen-shot-2012-07-07-at-14.58.36.png" alt="" width="373" height="211" /></p>
<p>If more than one person has liked or disliked it will show something like &#8220;You and 2 others like this&#8221; &#8211; and you can click on the &#8220;2 others&#8221; to see who they are.</p>
<p><img class="aligncenter size-medium wp-image-1978" title="Screen shot 2012-07-07 at 14.59.24" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/Screen-shot-2012-07-07-at-14.59.24-300x177.png" alt="" width="300" height="177" /></p>
<p>By default, members will not be sent an email when someone likes or dislikes their post/reply, but they can switch email notifications on with a new setting on their Community Settings (or switch them off again):</p>
<p><img class="aligncenter size-full wp-image-1967" title="Screen shot 2012-07-07 at 14.37.26" src="http://www.wpsymposium.com/wp-content/uploads/2012/07/Screen-shot-2012-07-07-at-14.37.26.png" alt="" width="330" height="34" /></p>
<h2>Group Security &#8220;gap&#8221; fixed</h2>
<p>There was a situation when a group member (of a private group) would post a forum topic and it would appear on their activity. But when clicked on, rather than being told the group was private, the topic was being shown. This should be solved in this release.</p>
<h2>Security patch</h2>
<p>A couple of AJAX files where not checking for suitable WordPress roles when adding shortcodes to new pages via the Installation page, and when importing saved templates. These have been addressed.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/07/release-notes-for-v12-07-07/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release Notes for v12.07.02</title>
		<link>http://www.wpsymposium.com/2012/07/release-notes-for-v12-07-02/</link>
		<comments>http://www.wpsymposium.com/2012/07/release-notes-for-v12-07-02/#comments</comments>
		<pubDate>Mon, 02 Jul 2012 16:15:05 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[v12.07.02]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1929</guid>
		<description><![CDATA[Mail page back to buttons based on feedback. Email notification links corrected (replies, not new topics). Events on WPMS fixed. WPS compressed stylesheet updated in case it was missed out.]]></description>
				<content:encoded><![CDATA[<p>v12.07.02 is going to be a quick release after v12.07.01, sorry guys, but I think it&#8217;s important.</p>
<p>If you are not effected by these changes, you do not have to upgrade with this release &#8211; choice is yours.</p>
<ul>
<li>Mail page uses buttons, changed from icons (from feedback). Probably for the best so it fits in better with WPS and can be better styled to match themes.</li>
<li>Link at bottom of email notification of replies includes full permalink URL (ie. the topic title)</li>
<li>Events in Multi-site now working (role permissions issue). Probably not related to v12.07.01 but a nice find (thanks <a href="http://www.wpsymposium.com/profile?uid=5804">@EllsWeb</a>).</li>
<li>Compressed CSS file updated (possibly reason for mail page layout issues)</li>
</ul>
<p>I feel a quieter release coming next week after this one. It was supposed to be a nice small release. Ho Hum. Famous last words. Thank goodness we love what we do&#8230;&#8230;! ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/07/release-notes-for-v12-07-02/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release notes for v12.07.01</title>
		<link>http://www.wpsymposium.com/2012/06/release-notes-for-v12-07-01/</link>
		<comments>http://www.wpsymposium.com/2012/06/release-notes-for-v12-07-01/#comments</comments>
		<pubDate>Fri, 29 Jun 2012 14:32:53 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[friends]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[permalinks]]></category>
		<category><![CDATA[styles]]></category>
		<category><![CDATA[v12.06.30]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1907</guid>
		<description><![CDATA[Mail page now uses tabs, much tidier layout. Make all members automatically friends to everyone if applicable. New widget. And more!!]]></description>
				<content:encoded><![CDATA[<p><em>Release code name: Cliff Clavin</em></p>
<h2>Change layout of Mail page to use tabs</h2>
<p>As per <a href="http://www.wpsymposium.com/discuss/?cid=7&amp;show=7362" target="_blank">this discussion</a> (among others) changed the Mail page to use tabs instead of the radio buttons.</p>
<p style="text-align: center;"><a href="http://www.wpsymposium.com/wp-content/uploads/2012/06/mail1.png"><img title="mail1" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/mail1-300x265.png" alt="" width="300" height="265" /></a></p>
<p><img class="aligncenter" title="mail2" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/mail2-265x300.png" alt="" width="265" height="300" /></p>
<div></div>
<h2>Reply emails</h2>
<p>When new forum topics are posted, email notification were sent separately to avoid a delay. This hadn&#8217;t been implemented on replies, but has with this release. More noticeable on sites with a large number of members and/or slow sites.</p>
<h2>Reply on forum remaining</h2>
<p>Seems that with Firefox the reply you posted on the forums was staying after a refresh. This has been duly squashed. As per this <a href="http://www.wpsymposium.com/discuss/bronzesilver-members-only/making-comments-since-upgrade/">discussion</a>.</p>
<h2>New Widget</h2>
<p>As a start, more to come, a new widget to make the profile page more personal. &#8220;Symposium: Friends Status&#8221; is like &#8220;Symposium: Recent Activity&#8221; but just for your friends. I use it on the WPS site. Use a plugin like <a href="http://wordpress.org/extend/plugins/display-widgets/" target="_blank">Display Widgets</a> to choose what is shown on which page.</p>
<h2>Forum post submit button</h2>
<p>The please wait message was showing after the database had been updated, meaning feedback to the user could be delayed on slower sites. It&#8217;s been moved to show after clicking on the reply button so the user knows not to double post.</p>
<h2>All users as friends (Bronze, Profile Plus)</h2>
<p>Added an option to automatically make new users friends with all current users. Provides a way to update all users on the site. This is available via the Profile Plus admin page.</p>
<p><img class="aligncenter size-medium wp-image-1910" title="friendstoall" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/friendstoall-300x30.png" alt="" width="300" height="30" /></p>
<p>Note, if you want to reset your site to make everyone friends to everyone else, that&#8217;s what the second option is for.</p>
<h2>Styles admin page</h2>
<p>Removed the use of a 3rd party script, and use internal WordPress color picker instead. Reduces the extra unnecessary load of extra scripts.</p>
<p><img class="aligncenter size-medium wp-image-1911" title="colors" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/colors-300x122.png" alt="" width="300" height="122" /></p>
<h2>WPS Permalinks (BETA)</h2>
<p>Added support for the forum permalinks to forum search, favourites, etc and to some widgets that can support them, and previously used URL parameters.</p>
<p>Member permalinks remain in testing via the Installation page, but getting feedback on compatibility! :)</p>
<p><img class="aligncenter size-medium wp-image-1912" title="permalinks" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/permalinks1-300x169.png" alt="" width="300" height="169" /></p>
<h2>Profile Activity/Status Images (Bronze, Profile Plus)</h2>
<p>Still not finished, but working on modern and good browsers (Chrome, Firefox &#8211; not IE!) that support certain features of HTML5. But the intention is to get it working with all, with a backup method for older browsers.</p>
<p>Instead of using galleries, you can now quickly add an image when you add to your activity/type a status for your profile page.</p>
<p>What to quickly show a photo on your profile, or a friend&#8217;s profile? That&#8217;s what it&#8217;s for.</p>
<p><img class="aligncenter size-medium wp-image-1914" title="attachanimage" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/attachanimage-232x300.png" alt="" width="232" height="300" /></p>
<p>On the Profile Plus admin screen, you can switch the feature on/off, and choose whether to display an upgrade notice to those users on older browsers.</p>
<p><img class="aligncenter size-full wp-image-1923" title="Screen shot 2012-06-30 at 14.18.35" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-30-at-14.18.35.png" alt="" width="574" height="89" /></p>
<p>For those interested in such things, the other reason this is important to try out is that it is using plupload instead of uploadify. It&#8217;s the script used by, and provided with, WordPress. So uploadify can then be removed. It should support HTML5, Flash, Silverlight, Gears and HTML4 &#8211; and provide the method appropriate to your browser. But at the moment it&#8217;s not switching from HTML5, so browsers that don&#8217;t support all HTML5 standards (eg. Microsoft Internet Explorer, grrr&#8230;.) currently can&#8217;t use the feature (a little polite warning is shown instead at the moment to change to a decent browser!). Work in progress, but currently ok with Chrome and FireFox for example. Any ideas? I&#8217;ve got a <a href="http://stackoverflow.com/questions/11261690/plupload-only-working-with-html5-in-wordpress-plugin" target="_blank">StackOverflow thread</a> started.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/06/release-notes-for-v12-07-01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release notes for v12.06.23</title>
		<link>http://www.wpsymposium.com/2012/06/release-notes-for-v12-06-23/</link>
		<comments>http://www.wpsymposium.com/2012/06/release-notes-for-v12-06-23/#comments</comments>
		<pubDate>Sat, 23 Jun 2012 15:51:15 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[filters]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[permalinks]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[v12.03.26]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1891</guid>
		<description><![CDATA[Video tutorials, security patch, extra option for forum shortcode, further testing on WPS permalinks, new header filters.]]></description>
				<content:encoded><![CDATA[<p><em>Release code name: Wimbledon</em></p>
<h1>Admin Guide and Videos</h1>
<ul>
<li>Work on the admin guide continues as a background task, latest version (PDF) <a href="https://dl.dropbox.com/u/49355018/wps.pdf" target="_blank">available here</a>.</li>
<li>I&#8217;ve added a couple of videos on the <a href="http://www.youtube.com/user/wpsymposium" target="_blank">WP Symposium YouTube channel</a> &#8211; I&#8217;ll continue to add more.</li>
</ul>
<h1>Security patch</h1>
<div>Addresses potential SQL injection as reported from an Audit by <a href="http://secunia.com/" target="_blank">Secunia Research</a>. Credit to Charlie Eriksen via Secunia SVCRP.</div>
<div></div>
<h1>Header filters</h1>
<p>Added filters for top of profile, member directory, group, forum categories and forum topic. For an example, see the <a title="Tutorials" href="http://www.wpsymposium.com/2012/06/adding-content-at-top-of-wps-pages-with-filters/" target="_blank">tutorial</a>.</p>
<h1>Specify a category in forum shortcode</h1>
<p>Added option to specify forum category using <strong>[</strong>symposium-forumlatestposts<strong>]</strong> shortcode. More information available in the draft <a href="https://dl.dropbox.com/u/49355018/wps.pdf" target="_blank">user admin guide</a>.</p>
<h1>Unique display names and usernames</h1>
<p>When checking for unique display name, now avoids checking user&#8217;s own user login name.</p>
<h1>WPS Permalinks</h1>
<p>Testing continues, with the addition of permalinks for the member profile pages (eg: http://www.example.com/profile/simon).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/06/release-notes-for-v12-06-23/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding content at top of WPS pages with filters</title>
		<link>http://www.wpsymposium.com/2012/06/adding-content-at-top-of-wps-pages-with-filters/</link>
		<comments>http://www.wpsymposium.com/2012/06/adding-content-at-top-of-wps-pages-with-filters/#comments</comments>
		<pubDate>Tue, 19 Jun 2012 14:28:39 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1869</guid>
		<description><![CDATA[From v12.06.23, there are a number of additional filters available to let you add content above WP Symposium content, to display your own content. For example, the following will display some flags at the top of the profile page that if clicked on will go to specific pages (www.example.com used for the sake of this [...]]]></description>
				<content:encoded><![CDATA[<p>From v12.06.23, there are a number of additional filters available to let you add content above WP Symposium content, to display your own content.</p>
<p>For example, the following will display some flags at the top of the profile page that if clicked on will go to specific pages (www.example.com used for the sake of this tutorial).</p>
<pre class="brush:php">function my_top_of_page( $html, $uid ) {
$flags = '&lt;div style="float:right"&gt;';
$flags .= '&lt;a href="http://www.example.com"&gt;&lt;img src="/wp-content/plugins/wp-symposium/tiny_mce/plugins/emotions/img/flag-uk.png" alt="English" /&gt;&lt;/a&gt; ';
$flags .= '&lt;a href="http://www.example.com"&gt;&lt;img src="/wp-content/plugins/wp-symposium/tiny_mce/plugins/emotions/img/flag-france.png" alt="French" /&gt;&lt;/a&gt; ';
$flags .= '&lt;a href="http://www.example.com"&gt;&lt;img src="/wp-content/plugins/wp-symposium/tiny_mce/plugins/emotions/img/flag-german.png" alt="German" /&gt;&lt;/a&gt; ';
$flags .= '&lt;/div&gt;';
return $flags.$html;
}

add_filter( 'symposium_profile_header_filter', 'my_top_of_page', 10, 2);</pre>
<p>This is how you would use the other four filters:</p>
<pre class="brush:php">add_filter( 'symposium_forum_topic_header_filter', 'my_top_of_page', 10, 2);
add_filter( 'symposium_forum_categories_header_filter', 'my_top_of_page', 10, 2);
add_filter( 'symposium_group_header_filter', 'my_top_of_page', 10, 2);
add_filter( 'symposium_member_header_filter', 'my_top_of_page', 10,1);</pre>
<p>The code should be added to your theme&#8217;s functions.php file.</p>
<p>The first parameter passed is always the HTML that you want to filter. The remaining parameter(s) are as follows:</p>
<table>
<tbody>
<tr>
<td><strong>Filter</strong></td>
<td><strong>Parameters</strong></td>
</tr>
<tr>
<td>symposium_profile_header_filter</td>
<td>ID of the user</td>
</tr>
<tr>
<td>symposium_forum_topic_header_filter</td>
<td>Topic ID</td>
</tr>
<tr>
<td>symposium_forum_categories_header_filter</td>
<td>Category ID</td>
</tr>
<tr>
<td>symposium_group_header_filter</td>
<td>Group ID</td>
</tr>
<tr>
<td>symposium_member_header_filter</td>
<td>None</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/06/adding-content-at-top-of-wps-pages-with-filters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release notes for v12.06.16</title>
		<link>http://www.wpsymposium.com/2012/06/release-notes-for-v12-06-16/</link>
		<comments>http://www.wpsymposium.com/2012/06/release-notes-for-v12-06-16/#comments</comments>
		<pubDate>Fri, 15 Jun 2012 13:53:52 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[emoticons]]></category>
		<category><![CDATA[permalinks]]></category>
		<category><![CDATA[permissions]]></category>
		<category><![CDATA[TinyMCE]]></category>
		<category><![CDATA[v12.06.16]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1847</guid>
		<description><![CDATA[Set forum permissions by WordPress role, log IP addresses...]]></description>
				<content:encoded><![CDATA[<p><em>Release Code Name: Malcolm</em></p>
<h2>Admin Guide</h2>
<p>I&#8217;m working on an admin guide, it&#8217;s not finished, but feel free to <a href="https://dl.dropbox.com/u/49355018/wps.pdf" target="_blank">take a look</a> so far.</p>
<h2>Forum view/post level</h2>
<p>This has been changed to checkboxes to select which roles can view and/or post on the forum, rather than a fixed list of roles. See admin guide for more info.</p>
<p>You will need to go to Symposium-&gt;Forum and set up your permissions after this update.</p>
<p><span id="more-1847"></span></p>
<h2><img class="aligncenter size-full wp-image-1858" title="Screen shot 2012-06-15 at 15.15.19" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-15-at-15.15.19.png" alt="" width="596" height="183" /></h2>
<h2>Log IP addresses</h2>
<p>Forum post page now displays client IP address info, namely $_SERVER['REMOTE_ADDR'] and $_SERVER['HTTP_X_FORWARDED_FOR'].</p>
<h2>TinyMCE</h2>
<p>Styled the old fashioned border to match WPS. Added more smilies/emoticons.</p>
<p><img class="aligncenter size-full wp-image-1857" title="Screen shot 2012-06-15 at 15.14.25" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-15-at-15.14.25.png" alt="" width="513" height="385" /></p>
<h2>uninstall.php</h2>
<p>Moved uninstallation to uninstall.php file and made sure uninstallation removes tables, options and wps-content folder (ie. complete removal).</p>
<h2>Add hook to top of profile header</h2>
<p>Allows profile header content to be added to/filtered.</p>
<p>apply_filters ( &#8216;symposium_profile_header_filter&#8217;, $html, $uid );</p>
<p>where $html = the content of the profile header, and $uid = the ID of that member.</p>
<h1>STILL IN DEVELOPMENT BUT AVAILABLE TO TEST (AT YOUR OWN RISK)</h1>
<h2>Permalinks</h2>
<p>As an option replace the use of dynamic URLs with static permalinks. eg. Instead of http://www.wpsymposium.com/discuss/?cid=44&amp;show=8222 use http://www.wpsymposium.com/discuss/Plugin-Conflict-Issues-Access-to-WP-Login.</p>
<p>Would be better for SEO rankings, sharing with Facebook/Twitter/etc, better for humans, bla-de-bla&#8230;</p>
<p>This is available via the Installation page.</p>
<p><img class="aligncenter size-full wp-image-1856" title="Screen shot 2012-06-15 at 15.08.52" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-15-at-15.08.52.png" alt="" width="649" height="265" /></p>
<p>I have just found they stop working because you&#8217;ve done something in WordPress admin like adding or editing a blog post. Click on update again (button in the image above) and they kick in. Probably just need to look at where WordPress uses the rewrite_flush() command, something for next week.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/06/release-notes-for-v12-06-16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Styling the forum, member lists, etc</title>
		<link>http://www.wpsymposium.com/2012/06/styling-the-forum-member-lists-etc/</link>
		<comments>http://www.wpsymposium.com/2012/06/styling-the-forum-member-lists-etc/#comments</comments>
		<pubDate>Tue, 12 Jun 2012 10:28:21 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1830</guid>
		<description><![CDATA[Note that this will also style the forum, and other items across your WPS installation like the list of group member, member directory, friends list and so on. For your user&#8217;s experience, this will keep a common style. It can be used with WP Symposium styles enabled, or not. Via the admin dashboard, go to [...]]]></description>
				<content:encoded><![CDATA[<p>Note that this will also style the forum, and other items across your WPS installation like the list of group member, member directory, friends list and so on. For your user&#8217;s experience, this will keep a common style.</p>
<p>It can be used with WP Symposium styles enabled, or not.</p>
<p>Via the admin dashboard, go to Symposium-&gt;Styles-&gt;CSS and enter the following. Note that I&#8217;ve included !important after each entry to enforce the style come what may. It&#8217;s a bit brute force, but guarantees that the styles are implemented.</p>
<p>Play around with the colours, they probably won&#8217;t match your site!!</p>
<pre class="brush:php">/* Category */

.symposium-wrapper #symposium_table {
    border: 0 !important;
}
.symposium-wrapper .row, .symposium-wrapper .row_odd {
    border-radius: 5px !important;
    margin-bottom: 5px !important;
}
.symposium-wrapper .row:hover, .symposium-wrapper .row_odd:hover {
    border-radius: 5px !important;
    margin-bottom: 5px !important;
    background-color: #ccc !important;
}
.symposium-wrapper .row {
    background-color: #cff !important;
}
.symposium-wrapper .row_odd {
    background-color: #ccf !important;
}
.symposium-wrapper .row_link {
    color: #333 !important;
    text-decoration:none;
}
.symposium-wrapper .row_link:hover {
    color: #000 !important;
    text-decoration:underline !important;
}

/* Topic (starting post) */

.symposium-wrapper #starting-post {
    border: 0 !important;
    border-radius: 5px !important;
    background-color: #cfc !important;
}
.symposium-wrapper .started-by  a {
    color: #333 !important;
    font-weight: bold !important;
    text-decoration:none;
}
.symposium-wrapper .started-by  a:hover {
    color: #000 !important;
    font-weight: bold !important;
    text-decoration:underline;
}

/* Replies */

.symposium-wrapper #child-posts {
    border: 0 !important;
    background-color: #fff !important;
}
.symposium-wrapper .child-reply {
    width: 548px !important;
    background-color: #fcc !important;
    border-top: 5px solid #fcc !important;
    border-bottom: 5px solid #fcc !important;
    border-left: 10px solid #fcc !important;
    border-right: 20px solid #fcc !important;
    margin-bottom:10px !important;
    margin-left: -10px !important;
    border-radius:5px !important;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/06/styling-the-forum-member-lists-etc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>v12.06.09 release candidate 5</title>
		<link>http://www.wpsymposium.com/2012/06/v12-06-09-release-candidate-5/</link>
		<comments>http://www.wpsymposium.com/2012/06/v12-06-09-release-candidate-5/#comments</comments>
		<pubDate>Sun, 10 Jun 2012 21:25:18 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1818</guid>
		<description><![CDATA[The astute of you may have noticed that there was not a v12.06.09 release. The reason is that it simply didn&#8217;t feel right, and I&#8217;ve learned as a coder if you have that rumbling anxious feeling in your gut about a release, it&#8217;s better to find out why, or wait until your mood improves&#8230;. So [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1820" title="breakfast" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/breakfast-300x279.jpg" alt="" width="300" height="279" />The astute of you may have noticed that there was not a v12.06.09 release. The reason is that it simply didn&#8217;t feel right, and I&#8217;ve learned as a coder if you have that rumbling anxious feeling in your gut about a release, it&#8217;s better to find out why, or wait until your mood improves&#8230;.</p>
<p>So for Bronze members, v12.06.09 Release Candidate 5 is available to download. As with all release candidates, they are not recommended for live sites. WPS is using that code, so ultimately the choice is yours. As a way of &#8220;covering my arse&#8221; I&#8217;ll say as with all upgrades (including WordPress itself) it&#8217;s always a good idea to take a copy of your previous plugin folder, and do a backup of your database.</p>
<p><img class="alignleft" src="http://www.wpsymposium.com/wp-content/plugins/wp-symposium/tiny_mce/plugins/emotions/img/twitter.png" alt="{#emotions_dlg.twitter}" width="24" height="24" />Finally, remember that I use my twitter account (&#8220;wpsymposium&#8221;) to annouce this sort of thing, so if you don&#8217;t already, it may be worthwhile.</p>
<p>Thanks, sorry, hope you understand about that rumbling feeling&#8230;!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/06/v12-06-09-release-candidate-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Log IP addresses of forum users</title>
		<link>http://www.wpsymposium.com/2012/06/log-ip-addresses-of-forum-users/</link>
		<comments>http://www.wpsymposium.com/2012/06/log-ip-addresses-of-forum-users/#comments</comments>
		<pubDate>Fri, 08 Jun 2012 13:18:57 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[forum]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1809</guid>
		<description><![CDATA[Add the following to your themes functions.php file to create a file called IP_forumposts.log that will track the IP addresses of those posting and replying on your forum. function newtopic_hook_for_ip($uid, $user_name, $uid, $post, $forum, $new_tid) { $mutex = @fopen(WP_PLUGIN_DIR . '/IP_forumposts.log', 'a'); fwrite ( $mutex, date("d m Y - H:i:s", time())." - new topic by [...]]]></description>
				<content:encoded><![CDATA[<p>Add the following to your themes functions.php file to create a file called IP_forumposts.log that will track the IP addresses of those posting and replying on your forum.</p>
<pre class="brush:php">function newtopic_hook_for_ip($uid, $user_name, $uid, $post, $forum, $new_tid) {
$mutex = @fopen(WP_PLUGIN_DIR . '/IP_forumposts.log', 'a');
fwrite ( $mutex, date("d m Y - H:i:s", time())." - new topic by ".$user_name." - ID ".$uid." - IP ".$_SERVER['REMOTE_ADDR']."\r\n");
fwrite ( $mutex, "");
fclose ( $mutex );
}
add_action('symposium_forum_newtopic_hook', 'newtopic_hook_for_ip', 10, 6);
function reply_hook_for_ip($uid, $user_name, $tid) {
$mutex = @fopen(WP_PLUGIN_DIR . '/IP_forumposts.log', 'a');
fwrite ( $mutex, date("d m Y - H:i:s", time())." - new reply from ".$user_name." - ID ".$uid." - IP ".$_SERVER['REMOTE_ADDR']."\r\n");
fwrite ( $mutex, "");
fclose ( $mutex );
}
add_action('symposium_forum_reply_hook', 'reply_hook_for_ip', 10, 3);</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/06/log-ip-addresses-of-forum-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release notes for v12.06.02</title>
		<link>http://www.wpsymposium.com/2012/06/release-notes-for-v12-06-02-2/</link>
		<comments>http://www.wpsymposium.com/2012/06/release-notes-for-v12-06-02-2/#comments</comments>
		<pubDate>Mon, 04 Jun 2012 11:47:28 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[v12.02.06]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1694</guid>
		<description><![CDATA[Event management enhancement]]></description>
				<content:encoded><![CDATA[<p><em>Release code name: Jubilee</em></p>
<p><img class="alignright size-medium wp-image-1723" title="Screen shot 2012-06-04 at 13.15.32" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-13.15.32-300x300.png" alt="" width="300" height="300" />The main focus of this release is an upgrade to the events management options. There are several, so these release notes also act as a tutorial.</p>
<p>What can you now do with events plugin?</p>
<p>Let&#8217;s say you run a scuba diving club and you want to:</p>
<ul>
<li>list your holidays, and for each:</li>
<li>provide more information on the holiday, the hotel and prices</li>
<li>show a maximum number of places and places remaining</li>
<li>show a link to accept payment</li>
<li>manage a list of those people who have reserved a place</li>
<li>keep track if they have sent payment</li>
<li>send a confirmation email to those who have paid</li>
<li>show a book button for those who haven&#8217;t booked, and a cancellation button for those that have</li>
</ul>
<p><span id="more-1694"></span>You can see that with all these options, this is something you may want to avoid your members having on their profile and limit event management to your site admins, or just give members a cut down version. This option is included below.</p>
<p>What can&#8217;t you do? Well, so you know, it doesn&#8217;t have payment gateways. You can put in your own code (HTML) for a payment button for something like PayPal so it&#8217;s easy for people to pay, and then when you receive payment, you can mark those who have paid.</p>
<p><strong>Events Admin</strong></p>
<p>Access via WordPress dashboard -&gt; Symposium -&gt; Events, the options available are as follows:</p>
<p><img class="aligncenter size-full wp-image-1695" title="Screen shot 2012-06-04 at 10.17.19" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-10.17.19.png" alt="" width="834" height="367" /></p>
<p><em>Global events list</em></p>
<p>Enter the ID&#8217;s of users that you want to include shown via the symposium-events shortcode. Leave blank for everyone. If you were running a club site for example, you may only want the events that you set up to show.</p>
<p><em>Non-admin event manager</em></p>
<p>With the new features, come some functionality that you may not want your users to have &#8211; like setting up payment buttons and confirmation emails. If you want users to be limited to just listing events and a button for more information (but nothing else), then uncheck this option.</p>
<p><em>Use WYSIWYG editor</em></p>
<p>It would be best to enable this for the more information and confirmation email (see below). However, some themes and other installed plugins are known to cause layout problems, so as a backup you can disable the TinyMCE editor.</p>
<p><em>Roles who get &#8220;My Events&#8221; on their profile menu</em></p>
<p>You may want to restrict the creation of events to certain roles, like editors or administrators &#8211; or particular roles you have set up in WordPress. Select those roles that you want to have My Events shown on their profile page.</p>
<p><strong>Creating a new event</strong></p>
<p>Creating an event is simple enough &#8211; click on the Create Event button via My Events on your profile page and you enter the title, location, description and dates/times. I&#8217;m going to use the above example of a Scuba Diving holiday in the following.</p>
<p><img class="aligncenter size-full wp-image-1696" title="Screen shot 2012-06-04 at 10.28.56" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-10.28.56.png" alt="" width="363" height="503" /></p>
<p>&nbsp;</p>
<p>Once created, on your My Events page, you can click on the Edit icon to access the extra features, add the google map, and so on.</p>
<p><img class="aligncenter size-full wp-image-1697" title="Screen shot 2012-06-04 at 10.31.50" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-10.31.50.png" alt="" width="369" height="198" /></p>
<p><strong>Managing your Event</strong></p>
<p>This will show a full set of features, split by four tabs, initially looking like this:</p>
<p><img class="aligncenter size-full wp-image-1698" title="Screen shot 2012-06-04 at 10.34.09" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-10.34.09.png" alt="" width="871" height="572" /></p>
<p>The title of the box shows your site name (BigMacDev in my case) following by the unique event ID. Users who book on an event will have a booking reference like <strong>1/12</strong> showing that it was Event 1, reference 12. Each booking reference will be unique.</p>
<p><strong>Summary<strong> Tab</strong></strong></p>
<p>For now, I&#8217;m going to assume I have all the features, if I was running the cut down version, as set in the admin above, I would not have all these options, only the left hand text boxes.</p>
<p><em>Title, location and description</em></p>
<p>These are text fields (WYSIWYG editor is not allow here to keep your site look and feel). The location field is what is used to generate the google map, so don&#8217;t use the google map if your location is &#8220;my back yard&#8221;!</p>
<p><em>Dates and Times</em></p>
<p>The starting date/time and the end date/time. If you don&#8217;t set one or more of these, the details shown on the events page will reflect that.</p>
<p><em>Published?</em></p>
<p>Whether the event should be shown (you can always see your event on your profile page)</p>
<p><em>Google Map?</em></p>
<p>Display the google map, based on what you entered in the location field.</p>
<p><em>Enable booking places?</em></p>
<p>Do you want to have &#8220;tickets&#8221;, which people pay (or just take, without paying)? Most likely yes.</p>
<p><em>Show availability?</em></p>
<p>Enable if you want to show how many tickets are remaining.</p>
<p><em>Booking requires confirmation?</em></p>
<p>Depending on your event, you may want to confirm bookings, or automatically grant a booking. If you are expecting payment, it would be <strong>very </strong>sensible to require confirmation.</p>
<p><em>Send confirmation email?</em></p>
<p><em></em>If you have not set the above (requires confirmation) then users who book on an event will automatically receive a confirmation email. If you intend to confirm bookings, then their email is sent once you have confirmed their booking.</p>
<p><em>Maximum places</em></p>
<p><em></em>In total, how many places are available.</p>
<p><em>Max tickets per booking</em></p>
<p><img class="aligncenter size-full wp-image-1707" title="Screen shot 2012-06-04 at 12.06.31" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-12.06.31.png" alt="" width="420" height="318" /></p>
<p>How many tickets can one user book? For popular, or free (no payment required) events, you may want to limit bookings.</p>
<p><em>Price per booking</em></p>
<p>How much does one ticket cost?</p>
<p><em>HTML for payment</em></p>
<p>You can enter HTML to show a payment button, for PayPal, or just a hyperlink. The following is an example that displays a PayPal button for payment to a PayPal account.</p>
<pre>&lt;form action="https://www.paypal.com/cgi-bin/webscr" method="post"&gt;
&lt;input type="hidden" name="cmd" value="_xclick"&gt;
&lt;input type="hidden" name="business" value="me@example.com"&gt;
&lt;input type="hidden" name="item_name" value="##eventname##"&gt;
&lt;input type="hidden" name="item_number" value="##refnumber##"&gt;
&lt;input type="hidden" name="amount" value="##unitcost##"&gt;
&lt;input type="hidden" name="quantity" value="##quantity##"&gt;
&lt;input type="hidden" name="no_shipping" value="2"&gt;
&lt;input type="hidden" name="no_note" value="1"&gt;
&lt;input type="hidden" name="custom" value="##displayname## (##useremail##)"&gt;
&lt;input type="hidden" name="currency_code" value="USD"&gt;
&lt;input type="hidden" name="return" value="http://www.wpsymposium.com/thankyou"&gt;
&lt;input type="hidden" name="cancel_return" value="http://www.wpsymposium.com/profile"&gt;
&lt;input type="hidden" name="bn" value="WPS_Event_Tickets_US"&gt;
&lt;input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but23.gif" name="submit" alt="Pay with PayPal"&gt;
&lt;img alt="" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"&gt;
&lt;/form&gt;</pre>
<p>You will see on line three, the PayPal account email address is set &#8211; you would need to put your own PayPal account email address there replacing &#8220;me@example.com&#8221;.</p>
<p>You will also need to set things like the currency_code, return, cancel_return and bn values. For a full list of PayPal variables, <a title="PayPal HTML payment variables" href="https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&amp;content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables" target="_blank">check out their list</a>.</p>
<p>There are also some ##values##, which can be listed by clicking on the round blue info image on screen. They are:</p>
<table>
<tbody>
<tr>
<td>##refnumber##</td>
<td>Unique reference number (Event ID/Booking ID)</td>
</tr>
<tr>
<td>##eventname##</td>
<td>Name of the event</td>
</tr>
<tr>
<td>##userlogin##</td>
<td>The user&#8217;s login name</td>
</tr>
<tr>
<td>##useremail##</td>
<td>The user&#8217;s email address</td>
</tr>
<tr>
<td>##quantity##</td>
<td>How many tickets being purchased</td>
</tr>
<tr>
<td>##unitcost##</td>
<td>The cost per ticket (not total for all tickets)</td>
</tr>
</tbody>
</table>
<p>These ##values## will be replaced when the payment HTML is shown, and will be used if you want to use other payment processing websites.</p>
<p>You may want to keep it simple and just display a hyperlink to another webpage, or even a mailto: link &#8211; it&#8217;s very flexible.</p>
<p><img class="aligncenter size-full wp-image-1708" title="Screen shot 2012-06-04 at 12.06.48" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-12.06.48.png" alt="" width="420" height="319" /></p>
<p>With the above HTML payment code, the Buy Now button above is shown and the following is shown on PayPal when the button is clicked (along with how to pay).</p>
<p><img class="aligncenter size-full wp-image-1709" title="Screen shot 2012-06-04 at 12.07.08" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-12.07.08.png" alt="" width="305" height="209" /></p>
<p>So back to our holiday, the completed summary information for my event looks like this:</p>
<p><img class="aligncenter size-full wp-image-1700" title="Screen shot 2012-06-04 at 10.55.12" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-10.55.12.png" alt="" width="870" height="570" /></p>
<p>Clicking on the Update button <strong>saves all information on all tabs</strong>, but doesn&#8217;t close the dialog box so you can keep working.</p>
<p><strong>More Information<strong> Tab</strong></strong></p>
<p>The more information tab allows you to put in further information, using the WYSWIYG editor if you&#8217;ve enabled it (via admin settings).</p>
<p><img class="aligncenter size-full wp-image-1704" title="Screen shot 2012-06-04 at 11.59.48" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-11.59.48.png" alt="" width="871" height="570" /></p>
<p>Before I forget, for event management, there is an additional button allowing you to use the editor full screen &#8211; much easier! It&#8217;s far right, in the top row of buttons.</p>
<p>Here you can put in information on prices, options, directions, agenda, links to further documents, downloads, whatever!</p>
<p>If more information is entered, on the events page a More Info button is shown which will display this information in a pop-up on screen.</p>
<p>So for my scuba diving holiday, I&#8217;ve entered information on the hotel, the courses available, and a nice image to further entice people, showing how nice scuba diving is.</p>
<p><em>A note on security</em></p>
<p>For security reasons, as it&#8217;s easy for users to enter nasty tags and codes (&lt;script&gt;, &lt;iframe&gt; and the like) not everything is allowed based on WordPress&#8217;s internal HTML cleanup routines. TinyMCE editor also does some clever stuff to keep the HTML safe. For more things though, you&#8217;ll not notice any restrictions &#8211; if it&#8217;s on the toolbar of the editor, then it&#8217;s okay to use. But don&#8217;t try entering &lt;script&gt; or &lt;iframe&gt; tags manually &#8211; it&#8217;s not allowed (for your site&#8217;s protection).</p>
<p><em>YouTube videos</em></p>
<p>As an aside, if you paste a YouTube video URL like http://www.youtube.com/watch?v=y0Xw2Wqyja4 then the video will be shown in it&#8217;s place. It&#8217;s a compromise between not allowing users to enter &lt;iframe&gt; tags for security reasons, but the desire to include videos!</p>
<p>So my Scuba Diving holiday &#8220;More information&#8221; looks like this:</p>
<p><img class="aligncenter size-full wp-image-1702" title="Screen shot 2012-06-04 at 11.54.30" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-11.54.30.png" alt="" width="822" height="523" /></p>
<p>And if I scroll down, I get to see a YouTube video:</p>
<p><img class="aligncenter size-full wp-image-1703" title="Screen shot 2012-06-04 at 11.58.36" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-11.58.36.png" alt="" width="821" height="521" /></p>
<p><strong>Confirmation Email<strong> Tab</strong></strong></p>
<p>If enabled (on the Summary tab), your users will receive a confirmation email when they book (if you are not confirming bookings) or when you confirm (if you are). You confirm bookings on the Attendees tab, this will be covered shortly.</p>
<p><img class="aligncenter size-full wp-image-1710" title="Screen shot 2012-06-04 at 12.17.26" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-12.17.26.png" alt="" width="871" height="571" /></p>
<p>The Confirmation email tab is similar to the More information tab, except you can put in some of those ##values## that are replaced with user specific information. They are shown on the tab, but for reference are:</p>
<table>
<tbody>
<tr>
<td>##displayname##</td>
<td>The user&#8217;s display name</td>
</tr>
<tr>
<td>##email##</td>
<td>Their email address</td>
</tr>
<tr>
<td>##refnumber##</td>
<td>Their reference number (Event ID/Booking ID)</td>
</tr>
</tbody>
</table>
<p>Because the confirmation email is specific to an event, the event name and other details can be entered directly into the content.</p>
<p>YouTube links are not converted into videos in the email, just the hyperlink is shown.</p>
<p><strong>Attendees Tab</strong></p>
<p><img class="aligncenter size-full wp-image-1711" title="Screen shot 2012-06-04 at 12.18.34" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-12.18.34.png" alt="" width="872" height="570" />This is the tab within which you can manage all you bookings.</p>
<p>For each booking, you can see a set of information. Not all may be applicable, for example if you were not sending confirmation emails then this column will always be blank.</p>
<ul>
<li>Reference number (Event ID/Booking ID)</li>
<li>User (their username), which is also a link to their profile page</li>
<li>The date and time they booked</li>
<li>The date and time a confirmation email was sent (the last one, if you have re-sent them a confirmation email)</li>
<li>The number of tickets they purchased</li>
<li>The date you confirmed payment</li>
<li>And finally, a number of actions.</li>
</ul>
<p>The actions are as follows:</p>
<p><img class="aligncenter size-full wp-image-1713" title="Screen shot 2012-06-04 at 12.29.07" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-12.29.07.png" alt="" width="628" height="25" /></p>
<ul>
<li><em>Send Mail</em>: A link to send an email to their email address</li>
<li><em>Re-send confirmation email:</em> Send the confirmation email to them again, in case they need it, lost the original, etc.</li>
<li><em>Remove attendee:</em> This will delete the booking. If you have received payment from the user, you should arrange a refund if applicable.</li>
<li><em>Confirm payment:</em> This will set the payment confirmed date and time. It&#8217;s also a way of remembering who has and who hasn&#8217;t paid.</li>
<li><em>Confirm attendee:</em> Confirms their booking &#8211; if you are awaiting payment, wait until you&#8217;ve been paid before you confirm. If you are sending confirmation emails, that email is sent when you confirm a user&#8217;s booking. (If on the summary tab, you have set confirmation not required, the confirmation email is sent as soon as they book).</li>
</ul>
<p>Note that when you confirm payment or a booking, the date and time will be shown next time you re-load the Event Management dialog.</p>
<p>Shown below, I have confirmed payment and the booking for the user &#8220;admin&#8221;.</p>
<p><img class="aligncenter size-full wp-image-1712" title="Screen shot 2012-06-04 at 12.27.31" src="http://www.wpsymposium.com/wp-content/uploads/2012/06/Screen-shot-2012-06-04-at-12.27.31.png" alt="" width="870" height="570" /><strong>In conclusion</strong></p>
<p>I hope you have fun with the event management enhancements. I&#8217;m sure that more work will be done, and there may well be changes made as you report back on your experience. With so many themes, and other plugins out there that you may be using, layout (CSS) in particular may need tweaking.</p>
<p>So, try it out first, and let me know how you get on!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/06/release-notes-for-v12-06-02-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Release notes for v12.05.26</title>
		<link>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-26/</link>
		<comments>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-26/#comments</comments>
		<pubDate>Sat, 26 May 2012 10:24:39 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[mention]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[v12.02.26]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1654</guid>
		<description><![CDATA[@mention tags - just type @displayname (removing any spaces) to automatically link to a member's profile. See release notes for everything in the release!]]></description>
				<content:encoded><![CDATA[<p><em>Release code name: John</em></p>
<ul>
<li>Implemented @tags</li>
<li>Set your own labels in Summary widget</li>
<li>Ensures that Hey&#8217;s sent can be replied to</li>
<li>Added CURL and JSON check to Installation page</li>
<li>Hide town/city admin option on profile page</li>
<li>Photo comments no longer causing broken images</li>
<li>Added option to hide distance</li>
<li>Fix to last active value on Following/Followers</li>
</ul>
<p><span id="more-1654"></span><br />
<strong>Set your own labels in Summary widget</strong></p>
<p>Some sites could do with different labels on the summary widget &#8211; now you can set your own labels. Do so via Appearance -&gt; Widgets -&gt; summary widget settings.</p>
<p><strong>Ensure Hey&#8217;s that are sent can be replied to</strong></p>
<p>People who send a Hey (or whatever you call it on your site!), are temporarily added to the mail recipient list so you can send a reply by mail.</p>
<p><strong>Add CURL and JSON check to Installation page</strong></p>
<p><img class="alignright" style="color: #333333; font-style: normal; line-height: 24px;" title="Untitled-1" src="http://www.wpsymposium.com/wp-content/uploads/2012/05/Untitled-1.png" alt="" width="225" height="153" /></p>
<p>If not activated, currently a messy warning box is shown (if PHP warnings enable) or it just fails. A clean check has been added to the Installation page with the ability to show phpinfo() if DEBUG mode is on.</p>
<p><strong>Photo comments causing broken images</strong></p>
<p>Fix an error as described on the forum. Tends to appear in activity stream. See <a href="http://www.wpsymposium.com/discuss/?cid=1&amp;show=8014">forum discussion</a>.</p>
<p><strong>Hide town/city on profile page</strong></p>
<p>Added an admin option to profile page to hide the town and city profile options as this is not always wanted on a social network.</p>
<p><img class="aligncenter size-full wp-image-1659" style="color: #333333; font-style: normal; line-height: 24px;" title="Untitled-5" src="http://www.wpsymposium.com/wp-content/uploads/2012/05/Untitled-51.png" alt="" width="636" height="22" /></p>
<p>Also hides the distance option from the member&#8217;s directory if enabled.</p>
<h1 class="entry-title">Bronze Members</h1>
<p>The following are applicable only to <a title="Membership" href="http://www.wpsymposium.com/membership/">Bronze members</a>.</p>
<p><strong>Implement @tags</strong></p>
<p>Activated via Profile Plus admin page:</p>
<p><img class="aligncenter size-full wp-image-1660" title="Untitled-6" src="http://www.wpsymposium.com/wp-content/uploads/2012/05/Untitled-6.png" alt="" width="758" height="28" /></p>
<p>@tags appear as links to a user&#8217;s profile page. First display names are searched to see if there is a match (without spaces), if not user login names are checked as a fall-back. If no match is found, it is displayed as entered. Also WPS ensures that display names set on profile page are unique to avoid duplication.</p>
<p>If enabled, on a member&#8217;s community settings page, their @tag is shown to them.</p>
<p><img class="aligncenter size-full wp-image-1655" title="Untitled-2" src="http://www.wpsymposium.com/wp-content/uploads/2012/05/Untitled-21.png" alt="" width="590" height="203" /></p>
<p>You can style the @tags, for example, this is the CSS for the above, added via Dashboard -&gt; WP Symposium -&gt; Styles -&gt; CSS (if you need to, put !important after a class value and before the semi-colon at the end of the line):</p>
<pre>.symposium_usertag {
 text-decoration: none;
 background-color: #333;
 border-top:1px solid #E49A60;
 border-left:1px solid #E49A60;
 border-right:1px solid #A35315;
 border-bottom:1px solid #A35315;
 padding: 2px 4px 2px 4px;
 border-radius:3px;
 cursor:pointer;
}
.symposium_usertag:hover {
}
.symposium_usertag:active {
 border-top:1px solid #A35315;
 border-left:1px solid #A35315;
 border-right:1px solid #E49A60;
 border-bottom:1px solid #E49A60;
}</pre>
<p>A new profile menu item &#8220;Forum @mentions&#8221; can be added to the member profile page via the admin page:</p>
<p style="text-align: center;"><img class="size-full wp-image-1657 aligncenter" style="color: #333333; font-style: normal; line-height: 24px; margin-top: 0.4em;" title="Untitled-4" src="http://www.wpsymposium.com/wp-content/uploads/2012/05/Untitled-4.png" alt="" width="384" height="208" /></p>
<div>
<p><strong>@tags in WordPress pages and posts</strong></p>
<p>The next release of WPS will add an option to also apply @mention tagging to WordPress pages and posts (trialling on WP Symposium site at the moment).</p>
<p>For example, this is my @tag: @simongoodchild</p>
<p><strong>Add option to hide distance</strong></p>
<p>An option has been added to disable distance from the member directory. By default it is off, so enable this on the Profile Plus admin page.</p>
<p><img class="aligncenter size-full wp-image-1656" title="Untitled-3" src="http://www.wpsymposium.com/wp-content/uploads/2012/05/Untitled-3.png" alt="" width="430" height="26" /></p>
<p><strong>Following/Followers</strong></p>
<p>Fixed last active bug and made Follow/Unfollow button AJAX (not page reload).</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-26/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Release Notes for v12.05.19</title>
		<link>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-19/</link>
		<comments>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-19/#comments</comments>
		<pubDate>Sat, 19 May 2012 11:40:45 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[elastic]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[v12.05.19]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1636</guid>
		<description><![CDATA[Release code name: Freddie Multi-line activity boxes WPS + WP Site search (Bronze only) Autocomplete in Members Directory Make public mean public Migration check Privacy on Member Directory (Void) Extra smilies (Void) Multi-line activity boxes  If Elastic Textboxes is enabled, activity and gallery comment boxes will now stretch to content. If this causes a problem [...]]]></description>
				<content:encoded><![CDATA[<p><em>Release code name: Freddie</em></p>
<ul>
<li>Multi-line activity boxes</li>
<li>WPS + WP Site search (Bronze only)</li>
<li>Autocomplete in Members Directory</li>
<li>Make public mean public</li>
<li>Migration check</li>
<li>Privacy on Member Directory (Void)</li>
<li>Extra smilies (Void)</li>
</ul>
<p><strong>Multi-line activity boxes </strong></p>
<p>If Elastic Textboxes is enabled, activity and gallery comment boxes will now stretch to content. If this causes a problem with other plugins, you can de-activate Elastic Texboxes and an HTML Textbox will be used instead.</p>
<p><img class="aligncenter size-full wp-image-1638" title="Elastic settings" src="http://www.wpsymposium.com/wp-content/uploads/2012/05/elastic.png" alt="Elastic settings" width="550" height="26" /></p>
<p><span id="more-1636"></span><strong>WPS + WP Site search (Bronze only)</strong></p>
<p>Created an autocomplete search for use in templates or shortcode that autocompletes. Includes options for members, groups, gallery, forum, WordPress pages and WordPress posts.</p>
<p>Set which you want to include on the Profile Plus admin page. You can include it as either a shortcode <strong>[</strong><strong>symposium-search</strong><strong>]</strong> or in your page templates (like I have in header.php on the WPS website) with &#8220;echo symposium_search()&#8221;.</p>
<p><img class="aligncenter size-full wp-image-1644" title="Autocomplete settings" src="http://www.wpsymposium.com/wp-content/uploads/2012/05/autocomplete1.png" alt="Autocomplete settings" width="722" height="275" /></p>
<p>It should only appear once on screen, so if you use it in your page header that appears on every page, don&#8217;t then add is as widget content or page/post content (but then, why would you?!)</p>
<p>If you&#8217;re interested, in header.php, I replaced the line that includes get_search_form(); with</p>
<pre>echo '&lt;div id="searchform"&gt;'.symposium_search().'&lt;/div&gt;';</pre>
<p><strong>Autocomplete in Members Directory </strong></p>
<p>Using jQuery autocomplete, the member directory search box will provide a dropdown of matching user&#8217;s.</p>
<p><strong>Make public mean public</strong></p>
<p>This was a piece of checking sparked by forum discussion.</p>
<p><strong>Migration check</strong></p>
<p>Added a check to stop migration process re-starting when users are deleted for WP admin (users). May have to run one more time if you are experiencing this, then a check ensures it isn&#8217;t run again.</p>
<p><strong>Privacy on Member Directory (Void)</strong></p>
<p>As security on privacy is at member page level, allow all members to be shown in the directory (but hide any personal information such as location, based on privacy level). Shows member&#8217;s that they are not alone!</p>
<p>This was actually void as this was already the current way it works.</p>
<p><strong>Extra smilies (Void)</strong></p>
<p>Using the WYSIWYG editor (maybe also the text editor), the extra smilies are showing as broken links. Fix! eg. {{solider}}</p>
<p>Ah, erm, yes. Okay. Turns out I can&#8217;t spell soldier. Please, no comments&#8230;.!!!!</p>
<pre></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-19/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release Notes for v12.05.14</title>
		<link>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-14/</link>
		<comments>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-14/#comments</comments>
		<pubDate>Sun, 13 May 2012 22:22:32 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[v12.05.14]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1612</guid>
		<description><![CDATA[Ok &#8211; this is an important update to v12.05.13 put out earlier today (13th May). There&#8217;s only one change, or rather the removal of some tutorial code that I left in. I&#8217;m putting this out as release v12.05.14 as it&#8217;s only 35 minutes until midnight and it keeps the version numbers as the same format [...]]]></description>
				<content:encoded><![CDATA[<p>Ok &#8211; this is an important update to v12.05.13 put out earlier today (13th May). There&#8217;s only one change, or rather the removal of some tutorial code that I left in. I&#8217;m putting this out as release v12.05.14 as it&#8217;s only 35 minutes until midnight and it keeps the version numbers as the same format from one to the next.</p>
<p>This was my fault &#8211; I was testing out the tutorial to show member information on the directory and left it in. No excuses, a complete over-sight on my part. Hence the totally understandable reaction on forum posts <a href="/discuss/?cid=1&amp;show=7825">here</a>, <a href="/discuss/?cid=1&amp;show=7825#cid=4,tid=7826">here</a> and <a href="/discuss/?cid=44&amp;show=7831">here</a> for example.</p>
<p>I&#8217;m sorry guys. :(</p>
<p>To be clear &#8211; as soon as the upgrade is available in your admin section, upgrade to v12.05.14. If you want to manually fix, edit symposium_hooks_filters.php and remove the following from the top of the file:</p>
<pre>add_filter( 'symposium_directory_member_filter', 'wps_extra_info', 10, 2 );
function wps_extra_info( $html, $uid ) {

     :
     :
     : down to....
     :
     :

}</pre>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-14/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Adding profile fields to the Member Directory</title>
		<link>http://www.wpsymposium.com/2012/05/adding-profile-fields-to-the-member-directory/</link>
		<comments>http://www.wpsymposium.com/2012/05/adding-profile-fields-to-the-member-directory/#comments</comments>
		<pubDate>Sun, 13 May 2012 13:39:38 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1606</guid>
		<description><![CDATA[You may want to include certain &#8220;meta&#8221; information for each member on the directory, and it&#8217;s quite easy to do. Recommended for v13.02 (release candidate 23+) of WP Symposium or higher. First, add the following to your functions.php file to show the common WP Symposium member information you can show, and how to show your [...]]]></description>
				<content:encoded><![CDATA[<p>You may want to include certain &#8220;meta&#8221; information for each member on the directory, and it&#8217;s quite easy to do.</p>
<p><em>Recommended for v13.02 (release candidate 23+) of WP Symposium or higher.</em></p>
<p>First, add the following to your <a href="http://www.wpswiki.com/index.php?title=Functions.php" target="_blank">functions.php</a> file to show the common WP Symposium member information you can show, and how to show your extended fields. For your extended fields, you use the slugs that you&#8217;ve set on the WPS Profile admin page (extended fields section). In the example below, I&#8217;m referring to a slug called &#8216;gender&#8217;.</p>
<p>Note that the second parameter of add_filter matches the function name below.</p>
<pre class="brush:php">add_filter( '__wps__directory_member_filter', 'wps_extra_info', 10, 2 );
function wps_extra_info( $html, $uid ) {
  global $wpdb;

  // Include the WPS User class
  require_once(WP_PLUGIN_DIR.'/wp-symposium/class.wps_user.php');
  $wps_user = new wps_user($uid);

  // Start the additional content (in a DIV)
  $add = '&lt;div&gt;';

  // Eexamples of core user information
  $add .= 'Date of birth: '.$wps_user-&gt;get_dob_day().'/'.$wps_user-&gt;get_dob_month().'/'.$wps_user-&gt;get_dob_year().'&lt;br /&gt;';
  $add .= 'City: '.$wps_user-&gt;get_city().'&lt;br /&gt;';
  $add .= 'Country: '.$wps_user-&gt;get_country().'&lt;br /&gt;';
  $add .= 'Email: '.$wps_user-&gt;get_user_email().'&lt;br /&gt;';
  $add .= 'Display name: '.$wps_user-&gt;get_display_name().'&lt;br /&gt;';
  $add .= 'User login: '.$wps_user-&gt;get_user_login().'&lt;br /&gt;';
  $add .= 'Latest activity: '.$wps_user-&gt;get_latest_activity().'&lt;br /&gt;';

  // Gender (example of an extended field, with 'gender' slug)
  $gender = $wps_user-&gt;get_user_meta($uid, 'extended_gender');
  $add .= 'Gender: '.$gender.'&lt;br /&gt;';

  // End the additional content (the DIV)
  $add .= '&lt;/div&gt;';

  // Return the sent content, plus the additional content
  return $html.$add;

}</pre>
<p>Here&#8217;s a screenshot:</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2012/05/Screen-Shot-2013-02-01-at-23.12.10.png"><img class="aligncenter size-full wp-image-2809" alt="Adding extended fields to the member directory with WP Symposium" src="http://www.wpsymposium.com/wp-content/uploads/2012/05/Screen-Shot-2013-02-01-at-23.12.10.png" width="604" height="206" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/05/adding-profile-fields-to-the-member-directory/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Styling jQuery dialog box (and the gallery in particular)</title>
		<link>http://www.wpsymposium.com/2012/05/styling-jquery-dialog-box-and-the-gallery-in-particular/</link>
		<comments>http://www.wpsymposium.com/2012/05/styling-jquery-dialog-box-and-the-gallery-in-particular/#comments</comments>
		<pubDate>Sun, 13 May 2012 13:06:37 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1601</guid>
		<description><![CDATA[So jQuery dialog box isn&#8217;t particularly colourful out of the box, and will need some &#8220;jazzing up&#8221;! The easiest way is via the WP Symposium-&#62;Styles-&#62;CSS section where you can copy and paste CSS, and it stays there when WP Symposium is upgraded. Copy and paste the following, for a particularly drug-induced colour scheme, and then [...]]]></description>
				<content:encoded><![CDATA[<p>So jQuery dialog box isn&#8217;t particularly colourful out of the box, and will need some &#8220;jazzing up&#8221;!</p>
<p>The easiest way is via the WP Symposium-&gt;Styles-&gt;CSS section where you can copy and paste CSS, and it stays there when WP Symposium is upgraded.</p>
<p><img class="aligncenter size-large wp-image-1604" title="Screen Shot 2012-05-13 at 14.08.50" src="http://www.wpsymposium.com/wp-content/uploads/2012/05/Screen-Shot-2012-05-13-at-14.08.50-1024x626.png" alt="" width="584" height="357" /></p>
<p>Copy and paste the following, for a particularly drug-induced colour scheme, and then change it rapidly to match your website colour scheme!!</p>
<pre>/* jQuery dialog box... */</pre>
<pre>.ui-dialog, .ui-dialog-content {
 border:10px solid red;
 background-color: pink !important;
 color: red;
}
.ui-dialog-titlebar {
 background-image: none;
 background-color: blue;
}
#ui-dialog-title-dialog {
 color: yellow !important;
 text-shadow: none;
}</pre>
<pre>/* Gallery specific... */</pre>
<pre>#symposium_photo_frame {
 background-color: orange;
 border: 5px solid yellow;
}
.symposium_photo_thumbnail_border_off {
 border: 2px solid #0ff;
}
.symposium_photo_thumbnail_border_on {
 border: 2px solid #f0f;
}
#symposium_photo_comments {
 color: #39f;
 text-shadow: none;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/05/styling-jquery-dialog-box-and-the-gallery-in-particular/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release Notes for v12.05.13</title>
		<link>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-13/</link>
		<comments>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-13/#comments</comments>
		<pubDate>Sun, 13 May 2012 12:24:16 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[colorbox]]></category>
		<category><![CDATA[directory]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[text domain]]></category>
		<category><![CDATA[v12.05.13]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1592</guid>
		<description><![CDATA[The gallery changes, no more Colorbox, introducing (or using...) jQuery UI dialog. Plus more, check out the release notes.]]></description>
				<content:encoded><![CDATA[<p><em>Release code name: Bon</em></p>
<p>Quite an exciting release this one, for a couple of reasons:</p>
<ol>
<li>Priority has been set by Bronze member users via the <a href="/voting">voting page</a></li>
<li>The gallery plugin has been replaced to include photo comments (that has other other important connotations too, see below)</li>
</ol>
<h2>Replacement Gallery interface</h2>
<p>So this is exciting! And I&#8217;m holding my breath as with any change, it may not be to everyone&#8217;s taste &#8211; but I&#8217;ll explain why the change has been made and hopefully you&#8217;ll understand.</p>
<p><span id="more-1592"></span><strong><em>Adds Comments</em></strong> - members can now comment on photos, this was the initial request</p>
<p><strong><em>Gets rid of Colorbox</em></strong> - which will help sites use other image tools like thickbox without clashing, removes an external dependency and removes the need to load up external script and CSS for Colorbox.</p>
<p><strong><em>See all photos in an album</em></strong> - so you can jump to particular photos.</p>
<p><em><strong>Under my control</strong></em> - not a power thing, but opens up the potential for further improvement. For example, I&#8217;d personally like to be able to set the album cover photo and rename photo titles from within the new gallery interface (manage the album from one place).</p>
<p><em><strong>Under your control</strong></em> &#8211; setting up the CSS for the jQuery dialog box can be easily controlled, check out <a title="Styling jQuery dialog box (and the gallery in particular)" href="http://www.wpsymposium.com/2012/05/styling-jquery-dialog-box-and-the-gallery-in-particular/">this tutorial</a>.</p>
<p><strong><em>Supports left/right cursor keys, Return, Escape and click on photo</em></strong> - so hopefully intuitive.</p>
<p><strong><em>Demonstrates the auto-extending text field</em></strong> - if elastic is set on the WPS settings page. If this is okay, it can be copied across to status field and comments on the activity page. :)</p>
<p><strong>But there is a little downside, and I apologise&#8230;.</strong> On the activity feed, any mention of uploaded photos will not be supported, they are historical. There is a fallback (the image is shown), but not great. So bear in mind, only new activity items will support the new interface. Note that the gallery page, and &#8220;My gallery&#8221; on profile page are okay as they are dynamically generated.</p>
<h2>Code appearing after activity status field</h2>
<p>This has been fixed.</p>
<h2>Misleading installation page (mis-information)</h2>
<p>Activated WPS plugins don&#8217;t get listed now.</p>
<h2>Member directory filter</h2>
<p>This allows site admin&#8217;s to add profile information to each item in the member directory. It&#8217;s fairly simple to do &#8211; take a look at <a title="Adding profile fields to the Member Directory" href="http://www.wpsymposium.com/2012/05/adding-profile-fields-to-the-member-directory/">this tutorial</a>.</p>
<h2>Speed up member directory search</h2>
<p>When searching for a member, you want to find them, that&#8217;s the main purpose. So I&#8217;ve simplified the query on the search results which should speed it up.</p>
<h2>Text Domains</h2>
<p>You can now put your .mo language files in one of three locations, as listed below. Note, if in lang or language, they may be removed when you update WP Symposium plugin. If you leave it in the plugins folder it should not be effected by upgrades. But these other two locations may be useful for other plugins, etc.</p>
<ul>
<li>wp-content/plugins</li>
<li>wp-content/plugins/wp-symposium/lang</li>
<li>wp-content/plugins/wp-symposium/language</li>
</ul>
<p>WP Symposium all uses that same wp-symposium text domain now.</p>
<p>That&#8217;s it until next week&#8217;s release.</p>
<p>Please don&#8217;t be too harsh with the photo gallery, it will no doubt improve as we find what&#8217;s missing, and any bugs will be squashed quickly. If you do have problems, bear in mind it&#8217;s using jQuery UI now, not Colorbox. jQuery UI is becoming the safe and normal way to use jQuery dialog boxes (I predict WordPress will replace Thickbox with jQuery UI dialog boxes before too long!).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-13/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release Notes for v12.05.05</title>
		<link>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-05/</link>
		<comments>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-05/#comments</comments>
		<pubDate>Sat, 05 May 2012 18:51:11 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[12.05.05]]></category>
		<category><![CDATA[groups]]></category>
		<category><![CDATA[Panel]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1571</guid>
		<description><![CDATA[Floating windows (DIVs) of Panel sorted, and layout if search on Groups page returns no results.]]></description>
				<content:encoded><![CDATA[<p><em>Release code name: Patricia</em></p>
<p><em>Bronze members! Be sure to vote on the priority of next developments at the <a title="Development Voting" href="http://www.wpsymposium.com/voting/">voting page</a>!</em></p>
<p><strong>Layout of Panel CSS</strong></p>
<p>The panel has a tendency for boxes (DIVs) to layout (float) vertically. The CSS has been sorted out.</p>
<p><strong>Results CSS wrong on Groups Search</strong></p>
<p>When there are no results on the Group search, the CSS layout is wrong causing a badly laid out page. This has been addressed.</p>
<p><span id="more-1571"></span><strong>Did you know&#8230;?</strong></p>
<p>On your updates page, there are several plugins for WP Symposium listed &#8211; you only need to update the core plugin, if you update them all, they all simply get updated for each one &#8211; taking far longer!</p>
<p><strong>A reminder&#8230;!</strong></p>
<p><strong></strong>With all the Bronze plugins now part of the download from WordPress.org you need to remove the Bronze plugin folders from your wp-content/plugins folder if you haven&#8217;t already.</p>
<p>Do this via FTP, do not uninstall them via the admin dashboard (if uninstalling, tables in the database are removed!).</p>
<p>In your wp-content/plugins folder, using FTP delete all wp-symposium-***** folders EXCEPT wp-symposium – do not delete wp-symposium plugin folder.</p>
<p>When you next visit your plugin admin page you will be told that a number of plugins have been de-activated as they are no longer exist, that’s ok.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/05/release-notes-for-v12-05-05/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release Notes for v12.04.30</title>
		<link>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-30/</link>
		<comments>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-30/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 18:47:59 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[Blog Post]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[v12.04.30]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1566</guid>
		<description><![CDATA[Release code name: Harry A small release that does three things: Fix to wps.js to work with 3rd party WPS plugins using (for example) /profile?view=blogpost (where blogpost refers to the 3rd party plugin). Displays a warning on admin page if legacy WPS plugin folders need to be removed by FTP, not via the admin dashboard. [...]]]></description>
				<content:encoded><![CDATA[<p><em>Release code name: Harry</em></p>
<p><em></em>A small release that does three things:</p>
<ol>
<li>Fix to wps.js to work with 3rd party WPS plugins using (for example) /profile?view=blogpost (where blogpost refers to the 3rd party plugin).</li>
<li>Displays a warning on admin page if legacy WPS plugin folders need to be removed <strong>by FTP, not via the admin dashboard</strong>. This could be done automatically, but I get a little scared, wobbly and sweat a bit (and curse to some extent) when I think that plugins might remove folders on my server, so would not want to impose the same on other site admins&#8230;.</li>
<li>Minor layout change to the Installation page, purely aesthetic!</li>
</ol>
<p><span id="more-1566"></span>If you&#8217;re wondering about the 3rd party WPS plugin referred to above, its <a href="http://wordpress.org/extend/plugins/wp-symposium-blogpost/" target="_blank">WP Symposium Blog Post</a>, development by AlphaGolf, which will add the following functionality (description blatantly copied and pasted from the WordPress repository!):</p>
<p><em>You&#8217;ve setup a WordPress site and turned it into a Social Network using WP Symposium, but the blog part of your site is important to you as well? WP Symposium Blog Post is the perfect addition to your WP/WPS site.</em></p>
<p><em>WP Symposium Blog Post plugin integrates WP Symposium with your WordPress blog, by:</em></p>
<ul>
<li><em>Adding an entry to your authors&#8217; WPS Profile page to list their posts, and link to them.</em></li>
<li><em>Conversely, adding a link on your authors&#8217; blog posts to their WPS Profile page.</em></li>
<li><em>Adding one item to their WPS Activity each time they publish a post in the blog.</em></li>
<li><em>Adding one item to members&#8217; WPS Activity each time they comment on a post or a page.</em></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Important to remember when upgrading to v12.04.28</title>
		<link>http://www.wpsymposium.com/2012/04/important-to-remember-when-upgrading-to-v12-04-28/</link>
		<comments>http://www.wpsymposium.com/2012/04/important-to-remember-when-upgrading-to-v12-04-28/#comments</comments>
		<pubDate>Sun, 29 Apr 2012 10:03:27 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[v12.04.28 FTP]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1562</guid>
		<description><![CDATA[With all the Bronze plugins now part of the download from WordPress.org you need to remove the Bronze plugin folders from your wp-content/plugins folder. Do this via FTP, do not uninstall them via the admin dashboard (if uninstalling, tables in the database are removed!). In your wp-content/plugins folder, using FTP delete all wp-symposium-***** folders EXCEPT [...]]]></description>
				<content:encoded><![CDATA[<p>With all the Bronze plugins now part of the download from WordPress.org you need to remove the Bronze plugin folders from your wp-content/plugins folder.</p>
<p>Do this via FTP, <span style="text-decoration: underline;"><strong>do not uninstall them via the admin dashboard</strong></span> (if uninstalling, tables in the database are removed!).</p>
<p>In your wp-content/plugins folder, using FTP delete all wp-symposium-***** folders <span style="text-decoration: underline;"><strong>EXCEPT</strong></span> wp-symposium &#8211; do not delete wp-symposium plugin folder.</p>
<p>When you next visit your plugin admin page you will be told that a number of plugins have been de-activated as they are no longer exist, that&#8217;s ok.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/04/important-to-remember-when-upgrading-to-v12-04-28/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release Notes for v12.04.28</title>
		<link>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-28/</link>
		<comments>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-28/#comments</comments>
		<pubDate>Sat, 28 Apr 2012 14:56:17 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[12.04.28]]></category>
		<category><![CDATA[ftp]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1540</guid>
		<description><![CDATA[Bronze members no longer FTP plugins, all included in download and upgrade from WordPress]]></description>
				<content:encoded><![CDATA[<p><em>Release code name: Jack</em></p>
<p><em></em>After last weekends release and a couple of mid-week patches, this weekends release (hopefully now back to the usual weekly releases!) features one big (and I think popular) change.</p>
<p>Bronze members no longer have to FTP up the bronze plugins, they are included in the download from WordPress.org.</p>
<p><strong>You need to remove the Bronze member plugin folders &#8211; please do this via FTP, <span style="text-decoration: underline;">do not delete them through the admin dashboard</span> as you will remove tables from the database. There is no need to delete the core plugin folder (wp-symposium) as this gets upgraded.</strong></p>
<p>To &#8220;tell&#8221; WordPress you are a Bronze member you have to enter an Activation Code, available via the links on the installation page (or <a href="http://www.wpsymposium.com/membership">here</a>). If you are a Bronze member here, you will see an activation code that you should copy and paste into the top of the Installation page.</p>
<p>The activation code is valid for 90 days from when you copy it, just update it at any point to reset the deadline to 90 days.</p>
<p>If you are not a Bronze member (or are trying out the Bronze plugins when not a Bronze member) they will still work on your website, but a banner will be shown across the top of your website. This also means that non-Bronze members can &#8220;try before you buy&#8221;.</p>
<p>I hope this makes life easier for Bronze members. Any problems (like your activation code not showing), post here.</p>
<h1>Translations</h1>
<p>This is where I have to start apologising to all the great people who use WP Symposium in different languages. The good news is that translations are now in one language file (&#8216;wp-symposium&#8217;), which will make life a lot easier. The bad news is that you may have to transfer/re-add translations. I wait for the abuse, I&#8217;m really sorry, gulp. I&#8217;ve updated the single download on crowdin.net/project/symposium so all plugins are now included.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-28/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release Notes for  v12.04.25</title>
		<link>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-25/</link>
		<comments>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-25/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 20:14:11 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1528</guid>
		<description><![CDATA[Patch for v12.04.21, please read release notes.]]></description>
				<content:encoded><![CDATA[<p><em>Release code name: Angus</em></p>
<p><em></em>This is a patch release following v12.04.21 and v12.04.24 &#8211; it addresses the following:</p>
<ul>
<li>A replacement of jquery.uploadify.v2.1.4.js (see <a href="http://www.wpsymposium.com/discuss/#cid=1,tid=7482">this forum topic</a>)</li>
<li>Bug fixes in the WPS class files (addresses <a href="http://www.wpsymposium.com/wp-content/wps-content/forum/5942/7484/Paulmatos.PNG">these errors</a>)</li>
</ul>
<p>Really sorry about the releases this week, I would normally always wait for the following Saturday, but I felt these were important as they could break a site, especially the first above, which had been reported on the forum by a few site admins. <span id="more-1528"></span>If your site is operating okay, the patches aren&#8217;t mandatory, you can always wait and review the release notes of each release to judge whether they are worth applying (I would always advise you to keep up to date, as with all plugins, but you are your own site admin!). v12.04.21 was always going to be a &#8220;challenging&#8221; release, and on the whole (apologies to those who have experienced a few problems) it&#8217;s been relatively successful. These patch releases address things that actually weren&#8217;t related to the big change in the release (ie. the way WPS stored user meta and options in the database). Please trust me that this the changes introduced are worth it, and will make extended WPS, and integrating it with other plug-ins, so much easier. I appreciate you bearing with things as v12.04.21 and subsequent patches &#8220;bed in&#8221; &#8211; normal service will hopefully resume soon with more exciting additional features released on the usual weekly basis. I am planning on putting up a voting mechanism so WPS users can start deciding which features should be considered first in terms of priority, which will either work very well or bring chaos among us all, ahem&#8230;.!! ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-25/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release Notes for v12.04.24</title>
		<link>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-24/</link>
		<comments>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-24/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 21:39:43 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1526</guid>
		<description><![CDATA[Patch for v12.04.21, please read release notes.]]></description>
				<content:encoded><![CDATA[<p><em>Release code name: Guillaume</em></p>
<p>This is a patch release following v12.04.21 &#8211; it fixes a couple of bugs identified.</p>
<p>We have corrected one bug in the display of Extended Fields on Profile Details. They now show even when empty at the Profile Details section of users&#8217; profile pages, that may be handy whenever they wish to fill these fields with data&#8230;</p>
<p>We also modified the way slugs are managed: it&#8217;s no longer necessary to fill the slug of a new Extended Field, if left empty (or to its default value of &#8220;New Slug&#8221;), as it will be generated from the name. Of course, it&#8217;s always better if you keep your hand on the slug, esp. when you expect to use it from somewhere else in your site using get_user_meta and &#8216;symposium_extended_&lt;slug&gt;&#8217;</p>
<p>We found a bug which may have sit there for a while, although it came to light only with last release: on other users&#8217; Profile pages, the first menu entry of the list on the left, &#8220;Profile&#8221;, wasn&#8217;t showing anymore.</p>
<p>Finally, a fix has been added to ensure the Members Directory is compatible with the s2 Members plugin.</p>
<p>Regards,<br />
Simon and AlphaGolf</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-24/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Release Notes for v12.04.21</title>
		<link>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-21/</link>
		<comments>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-21/#comments</comments>
		<pubDate>Sat, 21 Apr 2012 10:18:42 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[12.04.24 usermeta wp_options]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1521</guid>
		<description><![CDATA[Important release - upgrade to use of the database for WPS options and WPS user meta (to core WordPress tables).]]></description>
				<content:encoded><![CDATA[<p><em>Release code name: AlphaGolf</em></p>
<div><strong>IMPORTANT INFORMATION!</strong></div>
<div></div>
<div>First off all, please make sure you take a backup of your database and WPS plugins before upgrading. It&#8217;s always good practice, and would be a strong recommendation when upgrading anything &#8211; but more so for this release because of the changes to the database.</div>
<p>When upgraded, WP Symposium will migrate users details from a dedicated table, to the WordPress user metadata table (see below). This must be allowed to finish. The time it takes is dependent on the number of users, typically 100 users are migrated per minute.</p>
<p>Please let the process finish, you should see a progress bar steadily move across your screen (rapidly if you have a small number of users):</p>
<p><span id="more-1521"></span></p>
<p><img title="Migration process progress bar" src="http://www.wpsymposium.com/wp-content/uploads/2012/04/Screen-Shot-2012-04-01-at-12.03.31.png" alt="" width="719" height="318" /></p>
<p>So, what are the key changes? In addition to a number of bug fixes, and small enhancements (like A-Z on member directory), the two significant changes are to the use of the database.</p>
<p><strong>WPS configuration table</strong></p>
<p>Configuration options used to be in the wp_symposium_config table (wp_ prefix may differ on your installation of WordPress). This upgrade copies those configuration settings into the wp_options table &#8211; the core WordPress options table. Why has this been done? To reduce the number of WPS tables, and make the plugin more &#8220;WordPress standard&#8221;. It&#8217;s where site admin&#8217;s will expect to find configuration options.</p>
<p>If you want to see the WPS configuration options in the database after the upgrade, via a tool like phpMyAdmin, run the following:</p>
<pre>SELECT * FROM wp_options WHERE option_name LIKE 'symposium%'</pre>
<p>Note that wp_options may have a different prefix on your installation.</p>
<p><strong>WPS user meta table</strong></p>
<p>User meta data (information about the user, profile settings, etc) were stored in a table called wp_symposium_usermeta (again wp_ prefix may differ on your installation). As part of the upgrade, this information is moved to the wp_usermeta table &#8211; it&#8217;s the core WordPress table for storing user meta information.</p>
<p>You can see them, for a particular user, by running the following in phpMyAdmin:</p>
<pre>SELECT * FROM wp_usermeta where user_id = 1 AND meta_key LIKE 'symposium%'</pre>
<p>You&#8217;ll need to change the user_id to the ID of a user you know, and wp_usermeta may have a different prefix on your installation.</p>
<p><em>So really, why again?</em></p>
<p>Well admin&#8217;s will have more power to use WP Symposium user meta information. First off, you can now query any of the WP Symposium user data using WordPress standard <a href="http://codex.wordpress.org/Function_Reference/get_user_meta" target="_blank">get_user_meta</a> function from anywhere in a theme page template or any other plugin.</p>
<p>You know those extended fields? Well any of the information your user&#8217;s save via the WPS profile page, using those extended fields, can be accessed on your templates and plugins. You&#8217;ll notice a &#8220;slug&#8221; on the extended field information (on the WPS profile admin page), and using that slug you can get this information use the above function. For example, if you add an extended field with the slug of gender, you can retrieve this information with the follow WordPress function:</p>
<pre>echo get_user_meta(1, 'symposium_extended_gender', true);</pre>
<p>I&#8217;ve put 1 in as an example user ID, you can use any.</p>
<p>And the other WPS profile user meta can be retrieved using the following (note, the plugin required is shown &#8211; non-core plugins are part of the <a href="/membership">Bronze package</a>):</p>
<table>
<thead>
<tr>
<td>meta_key</td>
<td>Usage</td>
<td>Plugin required</td>
</tr>
</thead>
<tbody>
<tr>
<td>symposium_dob_day</td>
<td>Date of birth (day)</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_dob_month</td>
<td>Date of birth (month)</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_dob_year</td>
<td>Date of birth (year)</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_extended_city</td>
<td>City</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_extended_country</td>
<td>Country</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_facebook_id</td>
<td>User Facebook ID</td>
<td>Facebook</td>
</tr>
<tr>
<td>symposium_forum_all</td>
<td>Notify of all forum new posts?</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_forum_digest</td>
<td>Receive Digest?</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_forum_favs</td>
<td>Forum favourites</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_last_activity</td>
<td>When last active</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_last_login</td>
<td>Last login</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_notify_new_messages</td>
<td>Email on new mail?</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_notify_new_wall</td>
<td>Email on new profile activity posts?</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_plus_lat</td>
<td>Geocoded Latitude</td>
<td>Profile Plus</td>
</tr>
<tr>
<td>symposium_plus_long</td>
<td>Geocoded Longitude</td>
<td>Profile Plus</td>
</tr>
<tr>
<td>symposium_previous_login</td>
<td>Previous login (before last login)</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_profile_photo</td>
<td>Filename of profile avatar</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_rss_share</td>
<td>Share via RSS?</td>
<td>RSS Feed</td>
</tr>
<tr>
<td>symposium_share</td>
<td>Privacy level of personal information</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_signature</td>
<td>Forum signature</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_status</td>
<td>Activity status</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_trusted</td>
<td>Trusted member</td>
<td>Core</td>
</tr>
</tbody>
</table>
<p>So for example, to display a user&#8217;s last login (with user ID 1 in the example below), you would use:</p>
<pre>echo get_user_meta(1, 'symposium_last_login', true);</pre>
<p>To show the currently logged in user&#8217;s last login, you would use:</p>
<pre>global $current_user;
echo get_user_meta($current_user-&gt;ID, 'symposium_last_login', true);</pre>
<p><em>And hopefully there&#8217;s more</em></p>
<p>The goal is to provide further functionality such that the WordPress profile fields can be integrated with WP Symposium (the author&#8217;s bio description for example) &#8211; thanks AlphaGolf! Depending on the success of the release candidate(s), you&#8217;ll be able to link WPS extended fields with the WordPress profile fields so that both can be updated from either the WP Symposium profile page, or the WordPress edit profile page. Watch this space&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/04/release-notes-for-v12-04-21/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>All quiet on the WP Symposium front&#8230;</title>
		<link>http://www.wpsymposium.com/2012/04/all-quiet-on-the-wp-symposium-front/</link>
		<comments>http://www.wpsymposium.com/2012/04/all-quiet-on-the-wp-symposium-front/#comments</comments>
		<pubDate>Mon, 02 Apr 2012 11:05:39 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[v12.04.21]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1511</guid>
		<description><![CDATA[Update on why there hasn't been a release in the couple of weeks]]></description>
				<content:encoded><![CDATA[<p>Those of your who have used WP Symposium for at least a couple of months will have been used to weekly updates, in fact it&#8217;s one of the goals of WPS to upgrade little and often, fixing bugs quickly and adding new features.</p>
<p>So why has there been a gap of several weeks? Let me explain.</p>
<p>First, sorry. It&#8217;s unusual and not my preferred way of working, but needs must. The reason being is a big change to the back-end of WP Symposium, integrating better with WordPress itself.</p>
<p>Second, sorry again &#8211; you may not even notice any difference, but trust me, this was a big change and a lot of hard work has gone into coding and testing. Particular, and massive thanks, to AlphaGolf &#8211; a dedicated supporter of WP Symposium without whom this change would not have happened.</p>
<p><span id="more-1511"></span><strong>Release Schedule</strong></p>
<ol>
<li>The new code is currently running on the WP Symposium website, for testing purposes. As soon as it&#8217;s stable, the code will be made available as a release candidate. The version number of the release will be 12.04.21 RC1. And the name &#8211; yes, releases will have names now in true WordPress tradition &#8211; will be &#8220;AlphaGolf&#8221; in honour of this WPS user&#8217;s dedication to the cause! The plan is to make this release candidate available on 7th April, coinciding with a week away for me. I&#8217;ll be trying to avoid breaking any bones on a snowy mountain again whilst letting folk try out the release candidate.</li>
<li>Although every site admin should backup their plugins and database before upgrading them, I appreciate that this doesn&#8217;t happen. <strong>I strongly and with lots of gentle persuasive hugs urge you to backup your plugins folder and database this time.</strong> (Use FTP to take a copy of your plugins, and a tool like phpMyAdmin that you&#8217;ll probably have to take a backup of your database, check with your hosting company if you&#8217;re not sure).</li>
<li>On my return on 14th April (realistically a day or so after once I&#8217;ve caught up), if no serious problems that can&#8217;t be fixed have been reported, it will officially be released on 21st April.</li>
</ol>
<div><strong>Please, please note</strong></div>
<p>When upgraded, WP Symposium will migrate users details from a dedicated table, to the WordPress user metadata table (see below). This must be allowed to finish. The time it takes is dependent on the number of users, typically 100 users are migrated per minute.</p>
<p>Please let the process finish, you should see a progress bar steadily move across your screen (rapidly if you have a small number of users):</p>
<p><img class="alignright size-full wp-image-1512" title="Migration process progress bar" src="http://www.wpsymposium.com/wp-content/uploads/2012/04/Screen-Shot-2012-04-01-at-12.03.31.png" alt="" width="719" height="318" /></p>
<p>&nbsp;</p>
<p>So, what are the key changes? In addition to a number of bug fixes, and small enhancements (like A-Z on member directory), the two significant changes are to the use of the database.</p>
<p><strong>WPS configuration table</strong></p>
<p>Configuration options used to be in the wp_symposium_config table (wp_ prefix may differ on your installation of WordPress). This upgrade copies those configuration settings into the wp_options table &#8211; the core WordPress options table. Why has this been done? To reduce the number of WPS tables, and make the plugin more &#8220;WordPress standard&#8221;. It&#8217;s where site admin&#8217;s will expect to find configuration options.</p>
<p>If you want to see the WPS configuration options in the database after the upgrade, via a tool like phpMyAdmin, run the following:</p>
<pre>SELECT * FROM wp_options WHERE option_name LIKE 'symposium%'</pre>
<p>Note that wp_options may have a different prefix on your installation.</p>
<p><strong>WPS user meta table</strong></p>
<p>User meta data (information about the user, profile settings, etc) were stored in a table called wp_symposium_usermeta (again wp_ prefix may differ on your installation). As part of the upgrade, this information is moved to the wp_usermeta table &#8211; it&#8217;s the core WordPress table for storing user meta information.</p>
<p>You can see them, for a particular user, by running the following in phpMyAdmin:</p>
<pre>SELECT * FROM wp_usermeta where user_id = 1 AND meta_key LIKE 'symposium%'</pre>
<p>You&#8217;ll need to change the user_id to the ID of a user you know, and wp_usermeta may have a different prefix on your installation.</p>
<p><em>So really, why again?</em></p>
<p>Well admin&#8217;s will have more power to use WP Symposium user meta information. First off, you can now query any of the WP Symposium user data using WordPress standard <a href="http://codex.wordpress.org/Function_Reference/get_user_meta" target="_blank">get_user_meta</a> function from anywhere in a theme page template or any other plugin.</p>
<p>You know those extended fields? Well any of the information your user&#8217;s save via the WPS profile page, using those extended fields, can be accessed on your templates and plugins. You&#8217;ll notice a &#8220;slug&#8221; on the extended field information (on the WPS profile admin page), and using that slug you can get this information use the above function. For example, if you add an extended field with the slug of gender, you can retrieve this information with the follow WordPress function:</p>
<pre>echo get_user_meta(1, 'symposium_extended_gender', true);</pre>
<p>I&#8217;ve put 1 in as an example user ID, you can use any.</p>
<p>And the other WPS profile user meta can be retrieved using the following (note, the plugin required is shown &#8211; non-core plugins are part of the <a href="/membership">Bronze package</a>):</p>
<table>
<thead>
<tr>
<td>meta_key</td>
<td>Usage</td>
<td>Plugin required</td>
</tr>
</thead>
<tbody>
<tr>
<td>symposium_dob_day</td>
<td>Date of birth (day)</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_dob_month</td>
<td>Date of birth (month)</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_dob_year</td>
<td>Date of birth (year)</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_extended_city</td>
<td>City</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_extended_country</td>
<td>Country</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_facebook_id</td>
<td>User Facebook ID</td>
<td>Facebook</td>
</tr>
<tr>
<td>symposium_forum_all</td>
<td>Notify of all forum new posts?</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_forum_digest</td>
<td>Receive Digest?</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_forum_favs</td>
<td>Forum favourites</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_last_activity</td>
<td>When last active</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_last_login</td>
<td>Last login</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_notify_new_messages</td>
<td>Email on new mail?</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_notify_new_wall</td>
<td>Email on new profile activity posts?</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_plus_lat</td>
<td>Geocoded Latitude</td>
<td>Profile Plus</td>
</tr>
<tr>
<td>symposium_plus_long</td>
<td>Geocoded Longitude</td>
<td>Profile Plus</td>
</tr>
<tr>
<td>symposium_previous_login</td>
<td>Previous login (before last login)</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_profile_photo</td>
<td>Filename of profile avatar</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_rss_share</td>
<td>Share via RSS?</td>
<td>RSS Feed</td>
</tr>
<tr>
<td>symposium_share</td>
<td>Privacy level of personal information</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_signature</td>
<td>Forum signature</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_status</td>
<td>Activity status</td>
<td>Core</td>
</tr>
<tr>
<td>symposium_trusted</td>
<td>Trusted member</td>
<td>Core</td>
</tr>
</tbody>
</table>
<p>So for example, to display a user&#8217;s last login (with user ID 1 in the example below), you would use:</p>
<pre>echo get_user_meta(1, 'symposium_last_login', true);</pre>
<p>To show the currently logged in user&#8217;s last login, you would use:</p>
<pre>global $current_user;
echo get_user_meta($current_user-&gt;ID, 'symposium_last_login', true);</pre>
<p><em>And hopefully there&#8217;s more</em></p>
<p>The goal is to provide further functionality such that the WordPress profile fields can be integrated with WP Symposium (the author&#8217;s bio description for example) &#8211; thanks AlphaGolf! Depending on the success of the release candidate(s), you&#8217;ll be able to link WPS extended fields with the WordPress profile fields so that both can be updated from either the WP Symposium profile page, or the WordPress edit profile page. Watch this space&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/04/all-quiet-on-the-wp-symposium-front/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>v12.03.24 Release Candidate available</title>
		<link>http://www.wpsymposium.com/2012/03/v12-03-24-release-candidate-available/</link>
		<comments>http://www.wpsymposium.com/2012/03/v12-03-24-release-candidate-available/#comments</comments>
		<pubDate>Sun, 18 Mar 2012 11:42:23 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[12.03.24]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[mingle]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1504</guid>
		<description><![CDATA[Release Candidate: Reply to forum posts by email! Also Mingle forum import BETA.]]></description>
				<content:encoded><![CDATA[<p>There was no official release this weekend (would have been v12.03.17) because the  changes are significant, namely:</p>
<ul>
<li>symposium_config table replaced with wp_options (more integral to WordPress, but not visible to users)</li>
<li>BETA of reply-by-email plugin that allows members to reply to forum notifications, just be replying to the email received. See forum <a href="http://www.wpsymposium.com/discuss/?cid=2&amp;show=7117">discussion</a>.</li>
<li>BETA for Mingle import (via Installation page)</li>
<li>Fix to delete topic on forum in <a title="WP Symposium CubePoints module" href="http://www.wpsymposium.com/2012/02/wp-symposium-cubepoints-module/">CubePoints module</a> installed</li>
<li>CubePoints module now optionally rewards for sharing forum topic via permalink/social media icons</li>
</ul>
<p>The <a title="Download/Install" href="http://www.wpsymposium.com/downloadinstall/">release candidate</a> is available to <strong><a title="Membership" href="http://www.wpsymposium.com/membership/">bronze members</a></strong> only. If all goes well this week, it will form the release for 24th March.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/03/v12-03-24-release-candidate-available/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>v12.03.10 release notes</title>
		<link>http://www.wpsymposium.com/2012/03/v12-03-10-release-notes/</link>
		<comments>http://www.wpsymposium.com/2012/03/v12-03-10-release-notes/#comments</comments>
		<pubDate>Fri, 09 Mar 2012 13:47:18 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[v12.02.10]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1497</guid>
		<description><![CDATA[A maintenance release, plus the latest in the series of tutorials for developing your own forum page template.]]></description>
				<content:encoded><![CDATA[<p>v12.03.10 is a maintenance release, incorporating the mid-week v12.03.05 release.</p>
<ul>
<li>A number of small changes</li>
<li>The latest in the series of tutorials</li>
</ul>
<p>The latest tutorial continues the forum page template development, adding the ability to:</p>
<ul>
<li>delete replies</li>
<li>delete topic posts (and replies)</li>
<li>add a new reply to an existing topic</li>
</ul>
<p>The tutorial can be found with all the others on the <a href="/tutorials">tutorial page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/03/v12-03-10-release-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>v12.03.05 release notes</title>
		<link>http://www.wpsymposium.com/2012/03/v12-03-05-release-notes/</link>
		<comments>http://www.wpsymposium.com/2012/03/v12-03-05-release-notes/#comments</comments>
		<pubDate>Mon, 05 Mar 2012 22:36:15 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Releases]]></category>
		<category><![CDATA[v12.03.05]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1493</guid>
		<description><![CDATA[Sorry about this quick release, however there was a problem with profile posts which is obviously important to fix asap, so this is a release as a response. If you have the groups plugin activated there is no need to update as it won&#8217;t effect you. This release also fixes a problem on sites with [...]]]></description>
				<content:encoded><![CDATA[<p>Sorry about this quick release, however there was a problem with profile posts which is obviously important to fix asap, so this is a release as a response.</p>
<p>If you have the groups plugin activated there is no need to update as it won&#8217;t effect you.</p>
<p>This release also fixes a problem on sites with lots of members, and ordering the member directory by name (like the WPS site, oops, sorry).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/03/v12-03-05-release-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>v12.03.03 release notes</title>
		<link>http://www.wpsymposium.com/2012/03/v12-03-03-release-notes/</link>
		<comments>http://www.wpsymposium.com/2012/03/v12-03-03-release-notes/#comments</comments>
		<pubDate>Sat, 03 Mar 2012 10:45:39 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[cubepoints]]></category>
		<category><![CDATA[member directory]]></category>
		<category><![CDATA[v12.03.03]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1486</guid>
		<description><![CDATA[Support for the new WP Symposium CubePoints module, set who appears in the member directory by role, follow/unfollow buttons, improved forum category management, disable hover boxes...]]></description>
				<content:encoded><![CDATA[<p>Here are the changes for this week, included in v12.03.03:</p>
<ul>
<li>Support for <a title="WP Symposium CubePoints module" href="http://www.wpsymposium.com/2012/02/wp-symposium-cubepoints-module/">WPS CubePoints module</a> that rewards members for activity on profile pages, the forum and making friends (as well as the other CubePoints rewards you can set up).</li>
<li>Inclusion in member directory is now role based<br />
Set this up via member directory admin</li>
<li>Private group posts no longer appear on profile activity feed (unless you have permission to see them)</li>
<li>Forum category hierarchy in admin now colour coded and slightly indented</li>
<li>Follow/Unfollow buttons now appear on profile page (not just hover box)<br />
<strong>Make sure you reset the profile page template header (in admin-&gt;templates)</strong></li>
<li>Hover box can be disabled (bronze members only)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/03/v12-03-03-release-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>v12.02.25/26 release notes</title>
		<link>http://www.wpsymposium.com/2012/02/v12-02-25-release-notes/</link>
		<comments>http://www.wpsymposium.com/2012/02/v12-02-25-release-notes/#comments</comments>
		<pubDate>Sat, 25 Feb 2012 10:58:19 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[cubepoints]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[page template]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1467</guid>
		<description><![CDATA[Forum page template part 3 and BETA of a CubePoints module, among other minor fixes.]]></description>
				<content:encoded><![CDATA[<p>(Update: 12.02.26 was released to fix a bug where the Symposium admin menu was not showing)</p>
<p>Sorry, I have spent a lot of time looking at problems that couldn&#8217;t be replicated this week. Can site admin&#8217;s please <a title="Try this first!" href="http://www.wpsymposium.com/try-this-first/">try this first</a> before logging a problem on the forum? Thank you!</p>
<p>So I&#8217;ve added another <a href="/tutorials">tutorial</a> to creating your forum page template, this week showing the individual forum topic post and replies.</p>
<p>Apart from minor fixes, I&#8217;ve also posted a BETA <a href="http://www.wpsymposium.com/2012/02/wp-symposium-cubepoints-module/">CubePoints module</a> that seems to be working ok, and if no bugs are reported I&#8217;ll extend it to work across WPS. It seems a really popular and excellent WordPress plugin for rewarding users for site activity, may even add it to the WPS site for a bit of fun. It will eventually include information on WPS profile pages (via hooks, not CubePoint specific code for those who may ask!).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/02/v12-02-25-release-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a WPS Forum page template, part 3</title>
		<link>http://www.wpsymposium.com/2012/02/create-a-wps-forum-page-template-part-3/</link>
		<comments>http://www.wpsymposium.com/2012/02/create-a-wps-forum-page-template-part-3/#comments</comments>
		<pubDate>Sat, 25 Feb 2012 08:21:12 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[page template]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1462</guid>
		<description><![CDATA[What&#8217;s next? Well, when clicking on a forum topic you want to see the post and all the post replies &#8211; that&#8217;s what we&#8217;re going to do in this tutorial. Dealing with permalinks, or not&#8230;. So far, all the tutorials have assumed that you are using permalinks (www.example.com/thispage instead of www.example.com?page_id=5) In this tutorial, and [...]]]></description>
				<content:encoded><![CDATA[<p>What&#8217;s next? Well, when clicking on a forum topic you want to see the post and all the post replies &#8211; that&#8217;s what we&#8217;re going to do in this tutorial.</p>
<p><strong>Dealing with permalinks, or not&#8230;.</strong></p>
<p>So far, all the tutorials have assumed that you are using permalinks (www.example.com/thispage instead of www.example.com?page_id=5)</p>
<p>In this tutorial, and from now on, I&#8217;m going to code things so either works.  Introducing the WPS class method $wps-&gt;get_url_q()&#8230;</p>
<p>In wps_forum_page_3.php which is used for this tutorial page, skip down to line 136:</p>
<pre class="brush:php">echo '&lt;a href="'.$wps-&gt;get_forum_url().$wps-&gt;get_url_q($wps-&gt;get_forum_url()).'catid='.$category-&gt;cid.'"&gt;'.$title.'&lt;/a&gt;';</pre>
<p>The hyperlink (in this case to drill down into a category) is set to $wps-&gt;get_forum_url() which gets what you previously set. This is the page on which your forum is.</p>
<p>We then add $wps-&gt;get_url_q($wps-&gt;get_forum_url()) which will either be a ? or a &amp; depending on whether you are using permalinks or not on your site. <strong>WHY?</strong> If you are not, it&#8217;s important that the hyperlink doesn&#8217;t duplicate the ? that will already exist in the URL.</p>
<p><strong>Okay, so let&#8217;s add links to show the topic post itself</strong></p>
<p>This occurs in 2 places (last post in the category, and the list of topics) at lines 147, 177. The hyperlink returns to the same page, passing the category ID and the topic ID.</p>
<p><strong>So if the topic ID is passed to this page, show the topic!</strong></p>
<p>We collect the topic ID (along with the category ID) at lines 58 and 59. Once collected, we do a check if the topic ID has been set and if so, show the topic (line 62).</p>
<p>The topic is shown from lines 69 to 111 as follows:</p>
<ul>
<li>Show the breadcrumbs (lines 65-67)</li>
<li>Show the topic author&#8217;s avatar, bigger than the replies (lines 73-76)</li>
<li>Show the initial post (lines 78-92)</li>
<li>Show the replies (lines 94-111)</li>
</ul>
<p>The use of methods are fairly similar to previous parts of the code, so there shouldn&#8217;t be any surprises. But for reference, the key methods are:</p>
<ul>
<li>$wps_ui-&gt;get_breadcrumbs</li>
<li>$wps_user-&gt;get_avatar</li>
<li>$wps_forum-&gt;get_topic</li>
<li> $wps_forum-&gt;get_replies</li>
</ul>
<p>Once you&#8217;ve done the above, after clicking on a topic, you should see something like the following:</p>
<p><img class="aligncenter size-full wp-image-1464" title="Screen Shot 2012-02-25 at 08.21.09" src="http://www.wpsymposium.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-25-at-08.21.09.png" alt="" width="862" height="606" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/02/create-a-wps-forum-page-template-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP Symposium CubePoints module</title>
		<link>http://www.wpsymposium.com/2012/02/wp-symposium-cubepoints-module/</link>
		<comments>http://www.wpsymposium.com/2012/02/wp-symposium-cubepoints-module/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 18:44:11 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[cubepoints]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1445</guid>
		<description><![CDATA[CubePoints is a point management system designed for WordPress sites. Users can earn points by posting comments creating posts, or even by logging in on your site. And now you can reward points for WP Symposium activity (posting on profile pages, getting involved in the forum and making friends). Encourage your users to &#8220;do stuff&#8221; [...]]]></description>
				<content:encoded><![CDATA[<p>CubePoints is a point management system designed for WordPress sites. Users can earn points by posting comments creating posts, or even by logging in on your site.</p>
<p>And now you can reward points for WP Symposium activity (posting on profile pages, getting involved in the forum and making friends).</p>
<p>Encourage your users to &#8220;do stuff&#8221; by offering them points which could be used to purchase items / upgrades / etc. Users will be awarded a certain number of points for each type of activity.</p>
<p><span id="more-1445"></span>Note that you get points (that you set) for doing something, and the points taken away if you remove what you did. For example, if you post on your profile page you get points, and if you then delete the post the points are removed.</p>
<p>On this site (WPS site), you get the following points:</p>
<ul>
<li>For each comment on a blog post: 5</li>
<li>For each day you visit the site: 5</li>
<li>For posting on your own profile: 10</li>
<li>For each forum topic you start: 10</li>
<li>For each forum reply: 5</li>
<li>Having a friend request accepted: 5</li>
<li>Sharing a forum topic via social media icons: 5</li>
<li>Having one of your profile posts liked: 5</li>
<li>Having one of your profile posts disliked: -5</li>
</ul>
<p>You can see your points total (and other members) on the profile page, under the avatar (this is an option in the module). The top members are shown on the home page, in the sidebar.</p>
<div></div>
<p><strong>How to add to your site?</strong></p>
<div>
<ol>
<li>Install the <a href="http://wordpress.org/extend/plugins/cubepoints/" target="_blank">CubePoints plugin</a>.</li>
<li>Understand how it works, I can&#8217;t support CubePoints, for that go to <a href="http://cubepoints.com/" target="_blank">their site</a> (sorry).</li>
<li>Download <a href="/wp-content/plugins/cubepoints/modules/wp_symposium_cubepoints.zip">wp_symposium_cubepoints.zip</a> (it&#8217;s a module for CubePoints).</li>
<li><strong>Unzip the file</strong> and put <strong>wp_symposium_cubepoints.php</strong> inside the module folder, that&#8217;s inside the CubePoints plugin folder.</li>
<li>Activate the CubePoints module via the dashboard CubePoints-&gt;Modules page.</li>
<li>Configure the WPS settings on the CubePoints-&gt;Configure page.</li>
</ol>
</div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/02/wp-symposium-cubepoints-module/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>v12.02.18 release notes</title>
		<link>http://www.wpsymposium.com/2012/02/v12-02-18-release-notes/</link>
		<comments>http://www.wpsymposium.com/2012/02/v12-02-18-release-notes/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 11:48:07 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[v11.02.18]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1432</guid>
		<description><![CDATA[Lock forum topics and replies, access mail messages, next part of forum page template tutorial, and more...]]></description>
				<content:encoded><![CDATA[<p><strong>Forum Tutorial, part 2</strong></p>
<p>Added the second part of the forum page template tutorial. Covers breadcrumbs, list topics in a category, along with number of replies and latest reply. End result would look like this so far:</p>
<p><img class="aligncenter size-full wp-image-1433" title="Screen Shot 2012-02-17 at 14.39.46" src="http://www.wpsymposium.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-17-at-14.39.461.png" alt="" width="862" height="345" /></p>
<p><strong>Enhancements</strong></p>
<p><strong><em>Admin should be able to read member&#8217;s mail</em></strong></p>
<p>If you log in as admin, on member profile pages, you have access to the mail. This is for security purposes, allowing site admin&#8217;s to investigate complaints.</p>
<p><strong><em>Add timeout for forum post edits</em></strong></p>
<p>If people edit forum topics and replies some time after their original post, it can change the whole thread. Therefore, a time limit can now be set to avoid the edit icon from appear to keep your forum integrity.</p>
<p><img class="aligncenter size-full wp-image-1434" title="Screen Shot 2012-02-19 at 11.30.48" src="http://www.wpsymposium.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-19-at-11.30.48.png" alt="" width="756" height="30" /></p>
<p>You&#8217;ll find this in Forum settings.</p>
<p><strong><em>Add admin access to mail messages</em></strong></p>
<p><img class="alignright size-full wp-image-1435" title="Screen Shot 2012-02-19 at 11.32.23" src="http://www.wpsymposium.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-19-at-11.32.23.png" alt="" width="118" height="68" />A new admin section is available, allow site admin&#8217;s to view all mail messages. This is not to allow you to snoop! It is to allow you to investigate complaints quickly and easily. This new admin menu option is called &#8220;Mail Messages&#8221;.</p>
<p><strong>Bugs/defects</strong></p>
<ul>
<li>Profile photo not working on WPS site (via profile page)</li>
<li>Groups: activity comment not correct</li>
<li>Gallery &#8211; ensure deleted members galleries are not shown</li>
<li>Profile Community settings shows current user, not member</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/02/v12-02-18-release-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a WPS Forum page template, part 2</title>
		<link>http://www.wpsymposium.com/2012/02/create-a-wps-forum-page-template-part-2/</link>
		<comments>http://www.wpsymposium.com/2012/02/create-a-wps-forum-page-template-part-2/#comments</comments>
		<pubDate>Sun, 19 Feb 2012 11:22:57 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[forum]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1427</guid>
		<description><![CDATA[So we have our list of categories, in this part of the tutorial we are going to do two things: Add breadcrumbs (so you can navigate back &#8220;up&#8221; the forum) Display the list of topics within the current category Looking to end up with the following: You can see that within a given category, sub [...]]]></description>
				<content:encoded><![CDATA[<p>So we have our list of categories, in this part of the tutorial we are going to do two things:</p>
<ol>
<li>Add breadcrumbs (so you can navigate back &#8220;up&#8221; the forum)</li>
<li>Display the list of topics within the current category</li>
</ol>
<div>Looking to end up with the following:</div>
<div><img class="aligncenter size-full wp-image-1428" title="Screen Shot 2012-02-17 at 14.39.46" alt="" src="http://www.wpsymposium.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-17-at-14.39.46.png" width="862" height="345" /></div>
<div>You can see that within a given category, sub categories are listed (if any), followed by the topics within that category. Normally I would try and avoid listing both, but that totally depends on how you set up your forum &#8211; whether you allow topics in certain categories for example.</div>
<p>I&#8217;m using <em>wps_forum_page_2.php</em> and <em>wps_forum_page.css</em> files for this part &#8211; you&#8217;ll find them in the tutorials folder in the wp-symposium plugin, or download them from <a href="http://www.wpsymposium.com/wp-content/plugins/wp-symposium/tutorials">here</a>.</p>
<p><strong>Breadcrumbs</strong></p>
<p>You can see above the forum, I am displaying the &#8220;breadcrumb trail&#8221; of where you currently are in the forum structure &#8211; it allows you to move back up the hierarchy. This is part of the WPS UI class, so we need to include the class:</p>
<pre class="brush:php">require_once(WP_PLUGIN_DIR.'/wp-symposium/class.wps_ui.php');</pre>
<p>and</p>
<pre class="brush:php">$wps_ui = new wps_ui();</pre>
<p>Then to insert the breadcrumbs (line 61), we simply add:</p>
<pre class="brush:php">echo $wps_ui-&gt;get_breadcrumbs($catid, 'catid');</pre>
<p>There are a number of parameters we can pass to this method, namely:</p>
<ul>
<li>The category id of the current level of the breadcrumbs [mandatory].</li>
<li>The parameter to be added to the breadcrumb links that you use in your code (catid in my case &#8211; and this is the default). Optional, but recommend you include for clarity in your code.</li>
<li>Show link to the top level or not (true/false), defaults to true.</li>
<li>The separator character, defaults to right arrow.</li>
</ul>
<p>What is $catid I hear you ask? Don&#8217;t worry for now, this will make sense in a short while and I&#8217;ll remind you about the breadcrumbs.</p>
<div>Note that the current category is not included as a hyperlink.</div>
<div></div>
<div><img class="aligncenter size-full wp-image-1429" title="Screen Shot 2012-02-19 at 10.54.58" alt="" src="http://www.wpsymposium.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-19-at-10.54.58.png" width="461" height="22" /></div>
<p><strong>Sub categories</strong></p>
<p>For sub categories, I want to show the sub categories and the lasted topic in that sub category, along with some extra information like when and the author.</p>
<p>So lines 66-99 get and loop through any sub categories. For each sub category, the latest topic is retrieved as before (line 84).</p>
<p>What&#8217;s been added here this time? Well links so you can move &#8220;down&#8221; into your forum. Remember the breadcrumbs provide you with a way of moving back &#8220;up&#8221;.</p>
<p>First take a look at line 81, where a hyperlink is added to the current page with catid as a parameter for the category to show.</p>
<p>See where catid comes in now with the breadcrumbs?</p>
<p>To react to the passed category ID (catid), that is line 58:</p>
<pre class="brush:php">$catid = isset($_GET['catid']) ? $_GET['catid'] : 0;</pre>
<p>So $catid is set to the passed parameter, or 0 if nothing is passed.</p>
<p>Remember the breadcrumbs? This is the value that is passed (told you I&#8217;d remind you, lol).</p>
<p><strong>Listing the topics</strong></p>
<p>Having listed the categories we are now going to flesh out the topics list, providing information on the last reply. This code segment is line 101-152.</p>
<p>I get the list of topics for this category with:</p>
<pre class="brush:php">$topics = $wps_forum-&gt;get_topics($catid);</pre>
<p>If there are any, the table header is shown, and the all topics are looped through, displaying initially the topic subject. I limit the maximum length to 60 characters, feel free to change!</p>
<p><em>Showing the last reply</em></p>
<p>The last reply is retrieved on line 125:</p>
<pre class="brush:php">$last_reply = $wps_forum-&gt;get_replies($topic-&gt;tid, 0, 1);</pre>
<p>The topic ID is passed, starting at 0 (the first one) and retrieving only one. If there was one (there may not have been a reply yet), it is displayed along with information on the topic author, their avatar and so on.</p>
<p>We&#8217;ve covered this before, but briefly lines 134-136 gets and displays the avatar and link to the author&#8217;s profile page. Lines 139-144 show the reply. I&#8217;ve previously restricted the length and sorted out the formatting at lines 128-131.</p>
<p><em>Showing the number of replies</em></p>
<p>It can be useful to know how many replies have been posted to a topic, and this can be easily shown, line 148:</p>
<pre class="brush:php">echo $topic-&gt;topic_replies;</pre>
<p><strong>Next?</strong></p>
<p>The next tutorial will allow us to click on a topic title and display it, along with all the replies to that topic. Yummy!</p>
<p><strong>For reference&#8230; fields returned by get_replies()</strong></p>
<ul>
<li>tid &#8211; topic ID, integer</li>
<li>topic_group &#8211; 0 for none (ie. main forum), or group ID if a group forum, integer</li>
<li>topic_category &#8211; which category the topic belongs to, integer</li>
<li>topic_subject &#8211; if the initial topic post, the subject of the topic, text</li>
<li>topic_post &#8211; the body of the topic or reply, text</li>
<li>topic_owner &#8211; the user ID of the topic creator, integer</li>
<li>display_name &#8211; WordPress display name of topic_owner</li>
<li>topic_date &#8211; date created, or last replied to, datetime</li>
<li>topic_parent &#8211; if a reply, the ID of the topic, or 0, integer</li>
<li>topic_approved &#8211; defaults to &#8216;on&#8217;, or &#8221; if awaiting moderation (or use true/false)</li>
<li>topic_answer &#8211; is this the answer to a topic? &#8216;on&#8217; if yes, otherwise &#8221; (or use true/false)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/02/create-a-wps-forum-page-template-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a Full Page Width template</title>
		<link>http://www.wpsymposium.com/2012/02/create-a-full-page-width-template/</link>
		<comments>http://www.wpsymposium.com/2012/02/create-a-full-page-width-template/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 12:00:47 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1422</guid>
		<description><![CDATA[Thanks and acknowledgements to WPMU. Apologies for blatantly copying the text of the post &#8211; I warmly credit the author, Joe. The original full post includes images, and I would recommend you visit the original post. If you don’t have the option of a full width Page template in your theme, it’s easy enough to create your [...]]]></description>
				<content:encoded><![CDATA[<p><em>Thanks and acknowledgements to <a href="http://wpmu.org/create-a-full-width-page-for-wordpress-in-5-simple-steps/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Wpmu-Wordpress-Mu-PluginsThemesAndNews+%28WPMU.org+-+WordPress+MU+plugins%2C+themes+and+news%29" target="_blank">WPMU</a>. Apologies for blatantly copying the text of the post &#8211; I warmly credit the author, Joe. The <a href="http://wpmu.org/create-a-full-width-page-for-wordpress-in-5-simple-steps/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+Wpmu-Wordpress-Mu-PluginsThemesAndNews+%28WPMU.org+-+WordPress+MU+plugins%2C+themes+and+news%29" target="_blank">original full post</a> includes images, and I would recommend you visit the original post.</em></p>
<p>If you don’t have the option of a full width Page template in your theme, it’s easy enough to create your own. You’ll need to be able to access your theme’s folder on your server, and so if you can do that, this should be a fairly easy process.</p>
<p>We’ll go through it in five steps.</p>
<h2><strong>Step 1: Create a New Template File</strong></h2>
<p>On your server, find your theme’s folder (wp-content/themes/your-theme).</p>
<p>Create a new file and name it something unique and appropriate (e.g. <strong>full-width-page.php</strong>). Remember to end it with the .php extension.</p>
<p>After that, find the file named <strong>page.php</strong>. Open that, copy the contents, and then go back to the file you just created <strong>(full-width-page.php),</strong> and paste those contents into your new file.</p>
<p>Now, at the VERY TOP of your new file (i.e. BEFORE the content you just added into it), put the following:</p>
<pre>&lt;?php
 /*
 Template Name: Full Width
 */
 ?&gt;</pre>
<h2><strong><span id="more-1422"></span>Step 2: Remove the Sidebar</strong></h2>
<p>Next you’ll want to remove the sidebar. Search for the following code and take it out.</p>
<pre>&lt;?php get_sidebar() ?&gt;</pre>
<h2><strong>Step 3: Replace the Div ID</strong></h2>
<p>Next, you’ll need to find the Div ID for the content and change it, so we can style it the way we like.</p>
<p>More than likely, the div ID for the content will look like this:</p>
<pre>&lt;div id="content"&gt;</pre>
<p>Change the name “content” to something unique and identifiable like “content-fullwidth.”</p>
<pre>&lt;div id="content-fullwidth"&gt;</pre>
<p>Save the file, and you’re done with the template file.</p>
<h2><strong>Step 4: Style Your New Template File</strong></h2>
<p>Now you’ll need to widen the content area to give you more space.</p>
<p>Go to your style sheet in your admin area (Appearance &gt; Editor &gt; Stylesheet – style.css) and search for the section that controls the content area of your blog.</p>
<p>Typically your content area in your style sheet is named “#content” (easily enough).</p>
<p>Copy this section and then paste it into the style sheet again, renaming #content to the same name you gave your Div ID in Step 3 above (#content-fullwidth).</p>
<p>Then change the width to something wider.</p>
<p>Save your file, and that’s it for the style sheet.</p>
<h2><strong>Step 5: Choose Full Width</strong></h2>
<p>When you write a Page now, you should see an option on the right hand side for the “Full Width” template that you created.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/02/create-a-full-page-width-template/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a WPS Forum page template, part 1</title>
		<link>http://www.wpsymposium.com/2012/02/create-a-wps-forum-page-template-part-1/</link>
		<comments>http://www.wpsymposium.com/2012/02/create-a-wps-forum-page-template-part-1/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 12:42:38 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1414</guid>
		<description><![CDATA[Let&#8217;s make a forum page template! In the order of things, it&#8217;s best if you follow the profile page template tutorial first as it explains a few things that I&#8217;ll take for granted here, like what a class is! I&#8217;m using wps_forum_page_1.php and wps_forum_page.css files for this part &#8211; you&#8217;ll find them in the tutorials folder in the wp-symposium [...]]]></description>
				<content:encoded><![CDATA[<p>Let&#8217;s make a forum page template! In the order of things, it&#8217;s best if you follow the profile page template tutorial first as it explains a few things that I&#8217;ll take for granted here, like what a class is!</p>
<p>I&#8217;m using <em>wps_forum_page_1.php</em> and <em>wps_forum_page.css</em> files for this part &#8211; you&#8217;ll find them in the tutorials folder in the wp-symposium plugin, or download them from <a href="http://www.wpsymposium.com/wp-content/plugins/wp-symposium/tutorials">here</a>.</p>
<p>The basis for the page template is the same as the profile and mail templates, except that I&#8217;m going to allow content added via the admin dashboard to appear &#8211; lucky you ;)</p>
<p>That&#8217;s simply a matter of including two lines. Try taking them out and see what disappears!</p>
<pre class="brush:php">&lt;?php the_post(); ?&gt;
&lt;?php get_template_part( 'content', 'page' ); ?&gt;</pre>
<p>You can add these to the other page templates if you would like to be able to add content, or you can hardcode the content into the page template &#8211; your choice. It just feels that a forum often benefits from having a little introductory text, that you may want to easily and quickly change. Up to you ;)</p>
<p>So, the class we want to include is the wps_forum class:</p>
<pre class="brush:php">require_once(WP_PLUGIN_DIR.'/wp-symposium/class.wps_forum.php');
$wps_forum = new wps_forum();</pre>
<p>This should be familiar if you&#8217;ve been through the profile page template tutorial. The above assumes you are keeping the class files where they should be &#8211; i.e., in the wp-symposium folder.</p>
<p>We also tell WP Symposium about our new page, over-riding the WPS installation page that looks for a shortcode:</p>
<pre class="brush:php">$wps-&gt;set_forum_url('/aa-forum');</pre>
<p>Finally, to prepare things, we include the CSS file:</p>
<pre class="brush:php">&lt;link rel="stylesheet" type="text/css" href="&lt;?php bloginfo('template_url'); ?&gt;/wps_forum_page.css" /&gt;</pre>
<p>Take a quick gander at the CSS file, notice the first section &#8220;WordPress style changes&#8221;. I&#8217;m making some changes to the default TwentyEleven theme CSS to push the content that I&#8217;m now including up and out &#8211; filling the available area. I also move the &#8220;Edit&#8221; button over to the top-right to keep things tidy.</p>
<p><strong>Let the fun begin!</strong></p>
<p>Ok, so we are ready to pull in some forum content. Having done the profile (and hopefully mail) tutorials, you should find this relatively easy to understand, so we won&#8217;t hang about!</p>
<p>This is what we are aiming for in this part of the tutorial, it&#8217;s a clean and minimalist look and feel:</p>
<p><img class="aligncenter size-full wp-image-1416" title="Screen Shot 2012-02-12 at 12.41.43" src="http://www.wpsymposium.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-12-at-12.41.43.png" alt="" width="569" height="153" /></p>
<p>We start building up the &#8220;table&#8221; DIVs at line 56, before getting the list of categories at line 65:</p>
<pre class="brush:php">$categories = $wps_forum-&gt;get_categories();</pre>
<p>This will return (and pop into $categories) all the categories in the forum. Without a parameter, the &#8220;top level&#8221; returned will be the very top of the forum category hierarchy. If you have created sub-categories via the WPS admin, you could pass the ID of a &#8220;parent&#8221; category to return its &#8220;children&#8221;. But for now, we are interested in getting the lot!</p>
<p>What it won&#8217;t do is return &#8220;children&#8221; categories, so if you want to display any of those children categories here, you&#8217;d need a little recursive function to do so &#8211; but that&#8217;s out of the scope of this tutorial, it&#8217;s more in the PHP tutorial territory &#8211; take a stroll down Google Lane and you&#8217;ll find a wealth of info!</p>
<p>So we have our collection of categories, and we are going to loop through those returned (line 66):</p>
<pre class="brush:php">foreach ($categories as $category) {
   ...
}</pre>
<p>$category is now going to be each of our categories, we can handle each in turn. So in between a bunch of DIVs (and corresponding styles) we display some information about our category using:</p>
<pre class="brush:php">echo stripslashes($category-&gt;title);</pre>
<p>Note the stripslashes which, bizarrely, strips the slashes that may be needed to store the title in the database. Note that the <a href="http://www.wpswiki.com" target="_blank">WPS Wiki</a> lists the fields that are returned that you might also want to display, and I&#8217;ve also listed the fields at the bottom of this article.</p>
<p><strong>Last topic for each category</strong></p>
<p><img class="alignright size-full wp-image-1415" title="Screen Shot 2012-02-12 at 12.41.50" src="http://www.wpsymposium.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-12-at-12.41.50.png" alt="" width="225" height="59" />So far so good, and now I&#8217;m interested in showing the last topic created for each category. Other fields available for use are listed at the end of this article, or on <a href="http://www.wpswiki.com" target="_blank">www.wpswiki.com</a>.</p>
<p>Something like that shown to the right.</p>
<p>So I get the last topic as follows:</p>
<pre class="brush:php">$last_topic = $wps_forum-&gt;get_topics($category-&gt;cid, 0, 1);</pre>
<p>The get_topics() method is passed up to five parameters:</p>
<ul>
<li>The category ID (mandatory, 0 for top level of the forum)</li>
<li>Where to start from (default is 0)</li>
<li>How many to return (default is 9999)</li>
<li>The order of the topics by creation date (default is most recent first, pass &#8220;ASC&#8221; to reverse)</li>
<li>The group ID if focussing on a group (default is 0, ie. not a group)</li>
</ul>
<p>So we are passing the first three only: the category ID, start from 0, stop after 1. Why just 1 for the third parameter? Because we only want to most recent and it cuts down on server load and the amount of content to return.</p>
<p>If 1 topic is returned, as here, it is returned as a recordset. If more than 1 (as in the next part of the tutorial), an array is returned.</p>
<p>If there is a last topic for the category (checked on line 73), then we display the information about the last topic in between our DIVs.</p>
<p><strong>Showing the last topic avatar</strong></p>
<p>To jazz up the forum a bit, it would be nice to display the avatar of the author of the last topic. This is where familiarity with the profile page template tutorial comes in handy, I won&#8217;t go into detail again. Suffice to say, using $last_topic-&gt;topic_owner as the parameter, we create a new wps_user object and do two things:</p>
<ol>
<li>Create a hyperlink to the profile page (with wps-&gt;get_profile_url() and uid as a parameter);</li>
<li>Display the avatar with wps_user-&gt;get_avatar(48), where 48 is the size of the avatar in pixels.</li>
</ol>
<p><strong>Finishing off the last topic</strong></p>
<p>Finally we display the topic subject, display name of the author and how long ago it was created (using the symposium_time_ago function coupled with $last_topic-&gt;topic_started).</p>
<p>And there we have it, the start of our new forum page template. There are lots of other values returned by get_categories() and get_topics(), check out the WPS Wiki to see the full list and play around with customising your forum.</p>
<p>Next stop, part 2, will be to click on a forum category and display the topics in that category.</p>
<p><strong>For reference&#8230; fields returned by get_categories()</strong></p>
<p>This list can also be found on <a href="http://www.wpswiki.com" target="_blank">www.wpswiki.com</a>.</p>
<ul>
<li>cid &#8211; category ID, integer</li>
<li>title &#8211; title of the category, text</li>
<li>listorder &#8211; order for categories to appear defined in admin area, integer</li>
<li>allow_new &#8211; are new topics by users allowed? &#8216;on&#8217; or &#8221; (can use true/false)</li>
<li>defaultcat &#8211; is this the default category for new topics? &#8216;on&#8217; or &#8221; (can use true/false)</li>
<li>cat_parent &#8211; parent cid for this category, as a hierarchy, integer</li>
<li>cat_desc &#8211; description of this category, text</li>
<li>level &#8211; serialized list of WordPress roles that should have access to this category (see later tutorial)</li>
</ul>
<p><strong>For reference&#8230; fields returned by get_topics()</strong></p>
<p>This list can also be found on <a href="http://www.wpswiki.com" target="_blank">www.wpswiki.com</a>.</p>
<ul>
<li>tid &#8211; topic ID, integer</li>
<li>topic_group &#8211; 0 for none (ie. main forum), or group ID if a group forum, integer</li>
<li>topic_category &#8211; which category the topic belongs to, integer</li>
<li>topic_subject &#8211; if the initial topic post, the subject of the topic, text</li>
<li>topic_post &#8211; the body of the topic or reply, text</li>
<li>topic_owner &#8211; the user ID of the topic creator, integer</li>
<li>display_name &#8211; WordPress display name of topic_owner</li>
<li>topic_date &#8211; date created, or last replied to, datetime</li>
<li>topic_parent &#8211; if a reply, the ID of the topic, or 0, integer</li>
<li>topic_views &#8211; holds a count of times topic viewed, integer</li>
<li>topic_started &#8211; initial creation date, datetime</li>
<li>topic_sticky &#8211; should topic be sticky? &#8216;on&#8217; or &#8221; (or use true/false)</li>
<li>allow_replies &#8211; should replies by allowed? &#8217;on&#8217; or &#8221; (or use true/false)</li>
<li>topic_approved &#8211; defaults to &#8216;on&#8217;, or &#8221; if awaiting moderation (or use true/false)</li>
<li>topic_answer &#8211; is this the answer to a topic? &#8216;on&#8217; if yes, otherwise &#8221; (or use true/false)</li>
<li>for_info &#8211; is this topic just for information? &#8217;on&#8217; if yes, otherwise &#8221; (or use true/false)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/02/create-a-wps-forum-page-template-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>v12.02.11 release notes</title>
		<link>http://www.wpsymposium.com/2012/02/v12-02-11-release-notes/</link>
		<comments>http://www.wpsymposium.com/2012/02/v12-02-11-release-notes/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 12:40:18 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[v12.02.11]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1411</guid>
		<description><![CDATA[Forum development class Started work on the forum class, see the tutorials for more information. This will build up over 2-3 weeks to allow you to create your own forum look and feel! Other changes Inline attachements now resizing, before they were appearing as full size. Checked forums available on mobile plugin version set_display_name() class [...]]]></description>
				<content:encoded><![CDATA[<p><strong>Forum development class</strong></p>
<p>Started work on the forum class, see the <a href="/tutorials">tutorials</a> for more information. This will build up over 2-3 weeks to allow you to create your own forum look and feel!</p>
<p><strong>Other changes</strong></p>
<ul>
<li>Inline attachements now resizing, before they were appearing as full size.</li>
<li>Checked forums available on mobile plugin version</li>
<li>set_display_name() class method updates core WP usermeta (wps_user class)</li>
<li>If moderation is on, admin user posts no longer require moderating (unnecessary step)</li>
<li>Post/reply buttons now on group page (if buttons activated in WPS settings)</li>
<li>Firstname and Lastname added to Profile page (and updates WP usermeta)</li>
<li>Fixes incorrect permission for WP Symposium menu (only admin has access now)</li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/02/v12-02-11-release-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>v12.02.04 release notes</title>
		<link>http://www.wpsymposium.com/2012/02/v12-02-04-release-notes/</link>
		<comments>http://www.wpsymposium.com/2012/02/v12-02-04-release-notes/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 11:48:57 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[v12.02.04]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1407</guid>
		<description><![CDATA[Finishes off the mail class and page template tutorial - next stop forum class and form page template!]]></description>
				<content:encoded><![CDATA[<p>Final part of the mail page template &#8211; next stop forum page template!! I know several people are waiting for that, so it should be fun :)</p>
<p>Also in this release, a handful of minor code bugs, plus:</p>
<p><strong>Advanced Search</strong></p>
<p>It wasn&#8217;t, erm, working. Should be now &#8211; although I suspect this will be an area that will be refined over time. Bear in mind, for the advanced search:</p>
<ul>
<li>Member&#8217;s extended profile &#8220;values&#8221; are not set until they are saved by the member at least once.</li>
<li>For list boxes, members are included in advanced search results if values match (or &#8220;Any&#8221; is selected)</li>
<li>If you &#8220;check&#8221; a check boxes, members are included if they have also &#8220;checked&#8221; the extended field</li>
<li>If you don&#8217;t &#8220;check&#8221; a checkbox, it is not included in the search.</li>
</ul>
<p>An example, you have two extended profile fields:</p>
<ol>
<li>A list box of &#8220;Male&#8221; and &#8220;Female&#8221;</li>
<li>A checkbox of &#8220;Likes football&#8221;</li>
</ol>
<p>If you select Male and check Likes football, then you will get all men that like football.</p>
<p>If you select Male and leave Likes football unchecked, you will get all men.</p>
<p>If you select &#8220;Any&#8221; and check Likes football, you will get all members that like football.</p>
<p><em>Remember (I&#8217;ll say it again&#8230;) &#8211; members are only included if they have saved their extended profile information at least once!</em></p>
<p>I&#8217;m sorry that I had to push a couple of things to next week, I just didn&#8217;t get as much time to devote to development this week as I would have liked, support duties took over in a big way, the forum has been rather lively (which is a good thing)!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/02/v12-02-04-release-notes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Create a WPS Mail page template, part 7</title>
		<link>http://www.wpsymposium.com/2012/02/create-a-wps-mail-page-template-part-7/</link>
		<comments>http://www.wpsymposium.com/2012/02/create-a-wps-mail-page-template-part-7/#comments</comments>
		<pubDate>Sun, 05 Feb 2012 11:34:21 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mail]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1399</guid>
		<description><![CDATA[Final part (doubtful, but for now&#8230;.!) adds search to the mail page, follows on from part 6. I&#8217;m going to focus on the lines of code that matter here, how you use them is entirely down to your imagination! This is using wps_mail_page_7.php. The most important parts are the additional parameters to $wps_mail-&#62;get_inbox() and $wps_mail-&#62;get_inbox_count() that filters [...]]]></description>
				<content:encoded><![CDATA[<p>Final part (doubtful, but for now&#8230;.!) adds search to the mail page, follows on from <a title="Create a WPS Mail page template, part 6" href="http://www.wpsymposium.com/2012/02/create-a-wps-mail-page-template-part-6/" target="_blank">part 6</a>.</p>
<p>I&#8217;m going to focus on the lines of code that matter here, how you use them is entirely down to your imagination! This is using <em>wps_mail_page_7.php</em>.</p>
<p>The most important parts are the additional parameters to $wps_mail-&gt;get_inbox() and $wps_mail-&gt;get_inbox_count() that filters the returns list/value by a search term, but on that in a bit.</p>
<p>But first the search box. This doesn&#8217;t use a WPS UI element as you can make this however you want using HTML, I&#8217;m going to create a straightforward text box and button, lines 160-168 of <em>wps_mail_page_7.php</em>.</p>
<p><img class="aligncenter size-full wp-image-1400" title="Screen Shot 2012-02-05 at 11.14.44" src="http://www.wpsymposium.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-05-at-11.14.44.png" alt="" width="361" height="45" /></p>
<p>Mostly straightforward, except I include a hidden field &#8220;action&#8221; so I can retain the view state of the mail box (in or sent). I also default the value to anything previously search for ($term).</p>
<p><strong>Getting the search term</strong></p>
<p>Where do I get $term from? That&#8217;ll be line 93 that looks for a posted search term. It checks for the term passed by the URL or the post form (URL comes in for the paging, cover that in a minute).</p>
<pre>$term = isset($_GET['my-search-term']) || isset($_POST['my-search-term']) ? isset($_POST['my-search-term']) ? $_POST['my-search-term'] : $_GET['my-search-term'] : '';</pre>
<p>A check is made if either the URL of the form POST data has a search value (matching the search box name I used in the form), and if so takes the form POST data if available, or if not the URL parameter. If neither is set, $term is set to &#8221; (an empty string).</p>
<p>I&#8217;m using a more succinct method of checking values using <a href="http://davidwalsh.name/php-shorthand-if-else-ternary-operators" target="_blank">ternary operators</a>, you could use a set of if {} else {} conditions over several lines:</p>
<pre>if ( isset($_GET['my-search-term']) || isset($_POST['my-search-term']) ) {
  if ( isset($_POST['my-search-term']) ) {
    $term = $_POST['my-search-term'];
  } else {
    $term = $_GET['my-search-term'];
  }
} else {
  $term = '';
}</pre>
<p>So $term will hold the search term.</p>
<p><strong>Getting mail based on the search term</strong></p>
<p>We use one of the parameters for $wps_mail-&gt;get_inbox() that will filter the results based on a search term, line 229. The results will only include mail where display name, subject or mail matches $term:</p>
<pre>$inbox = $wps_mail-&gt;get_inbox($page_length, $start, 40, $term, true, 75, false, $show_sent_mail);</pre>
<p>Notice the fourth parameter? That&#8217;s our search term. The results will now be filtered, and if anything matches exactly, it will be highlighted.</p>
<p><img class="aligncenter size-full wp-image-1402" title="Screen Shot 2012-02-05 at 11.34.04" src="http://www.wpsymposium.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-05-at-11.34.04.png" alt="" width="858" height="146" /></p>
<p><strong>Coping with paging</strong></p>
<p>If the results go over one page, we need to be able to move page by page and return the search term, so we add a parameter to the page links, that gets picked up online 93.</p>
<p>Line 274 creates the string to be added to the URL, or an empty string if no search term is available. It&#8217;s then added to all the paging links, for example on line 278:</p>
<pre>if ($current_page &gt; 1) echo '&lt;a href="'.$wps-&gt;get_mail_url().'?action='.$paging_action.'&amp;start=0'.$term_parameter.'"&gt;First&lt;/a&gt; ';</pre>
<p>This is not the only way to do it, but as a simple example it allows us to retain the search term as we move from page to page in the search results.</p>
<p><strong>Search count</strong></p>
<p>It&#8217;s quite nice to show the number of search results. If too large, you could avoid the search and prompt for a more precise search, just an idea!</p>
<p>We&#8217;ve added a parameter to $wps_mail-&gt;get_inbox_count() to filter the count of the mail by the search term. If there is no search term, the count will still just be the total number of mail messages in the inbox/sent list.</p>
<pre>$inbox_count = $wps_mail-&gt;get_inbox_count(false, $show_sent_mail, $term);</pre>
<p>Lines 293-299 display either the number of returned search matches, or if no search was made, just the number of mail items in the mail box:</p>
<p><img class="aligncenter size-full wp-image-1401" title="Screen Shot 2012-02-05 at 11.24.33" src="http://www.wpsymposium.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-05-at-11.24.33.png" alt="" width="266" height="21" /></p>
<p>Note that a link to clear the search is added, it simply links to the mail box without the search term parameter.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/02/create-a-wps-mail-page-template-part-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a WPS Mail page template, part 6</title>
		<link>http://www.wpsymposium.com/2012/02/create-a-wps-mail-page-template-part-6/</link>
		<comments>http://www.wpsymposium.com/2012/02/create-a-wps-mail-page-template-part-6/#comments</comments>
		<pubDate>Sat, 04 Feb 2012 21:20:31 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mail]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1392</guid>
		<description><![CDATA[To (nearly) complete our mail page, we are going to need a reply link for each mail, and a different view of the inbox to mail received or mail sent. The changes are spread out through the file wps_mail_page_6.php, so rather than do a walk through I&#8217;m going to highlight key bits of code, particularly those [...]]]></description>
				<content:encoded><![CDATA[<p>To (nearly) complete our mail page, we are going to need a reply link for each mail, and a different view of the inbox to mail received or mail sent.</p>
<p>The changes are spread out through the file <em>wps_mail_page_6.php</em>, so rather than do a walk through I&#8217;m going to highlight key bits of code, particularly those that use the WPS classes.</p>
<p><strong>Inbox and Sent &#8220;view&#8221; links</strong></p>
<p><img class="aligncenter size-full wp-image-1393" title="Screen Shot 2012-02-04 at 21.17.46" src="http://www.wpsymposium.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-04-at-21.17.46.png" alt="" width="862" height="35" /></p>
<p>Lines 205-217 show the inbox and sent &#8220;links&#8221; to switch between the two views. Depending which view you are currently in, one will be active and one will be just bold text.</p>
<p>The links include the current view (inbox or sent) whilst redirecting back to the current page, along with the start page of &#8220;0&#8243; to go back to the top.</p>
<p><strong>Getting the inbox/sent mail messages</strong></p>
<p>Shifting down to lines 341, the headers of the mail table are now changed to reflect the view.</p>
<p>And now for the important line, getting the right set of mail, it&#8217;s line 345.</p>
<pre class="brush:php">$inbox = $wps_mail-&gt;get_inbox($page_length, $start, 40, "", true, 75, false, $show_sent_mail);</pre>
<p>That line already existed, but there is an additional parameter at the end, $show_sent_mail. If true is passed, sent mail is returned, otherwise received mail is returned. The default value, if not passed, is false (ie. received mail).</p>
<p>The variable is set on the previous line (343):</p>
<pre class="brush:php">$show_sent_mail = ($action == "sent");</pre>
<p>If $action is set to &#8220;sent&#8221;, then $show_sent_mail will be true, otherwise it&#8217;s false.</p>
<p>$inbox will now be set to either received mail, or sent mail. Other than that, the information will be displayed as before.</p>
<p><strong><img class="size-full wp-image-1394 alignright" title="Screen Shot 2012-02-04 at 21.18.56" src="http://www.wpsymposium.com/wp-content/uploads/2012/02/Screen-Shot-2012-02-04-at-21.18.56.png" alt="" width="156" height="69" />Adding a reply link</strong></p>
<p>Against each message, beside the trash icon, I&#8217;m going to put a reply link, line 391:</p>
<pre class="brush:php">echo '&lt;a href="'.$wps-&gt;get_mail_url().'?action=reply&amp;mail_id='.$mail['mail_id'].'"&gt;Reply&lt;/a&gt; ';</pre>
<p>The link points to the current page, with a new action &#8220;reply&#8221; along with the mail id of the message that is being replied to.</p>
<p>Jump back to line 221 now, and you&#8217;ll see the condition for displaying the compose form that now includes a check for the reply action, and a passed mail_id parameter in the URL.</p>
<p>Following that if we are replying, we need to get some information to be able to refer back to the original message in the compose form, i.e.:</p>
<ul>
<li>who sent it (so we can set the recipient of our reply message)</li>
<li>original subject</li>
<li>original message</li>
</ul>
<p>The subject, if it hasn&#8217;t already got &#8220;Re:&#8221; at the start, gets &#8220;Re: prepended to it.</p>
<p>Also, we don&#8217;t just get the previous message, we add some header information, so when reading through the entire thread (ie. previous messages), there is a break with who sent the message, and when, etc.</p>
<p>Now that we have the previous message information, we can go ahead as before and display the compose form. However, this time we will default the recipient and pre-populate the subject and message. </p>
<p><strong>That&#8217;s nearly the end of our basic mail page</strong></p>
<p>So, we now have a mail page where we can:</p>
<ul>
<li>Read our mail</li>
<li>See mail we have sent</li>
<li>Page throughout the inbox/sent mail</li>
<li>Compose a new mail (to friends)</li>
<li>Reply to a received (or sent) mail message</li>
<li>Delete mail items</li>
</ul>
<p>There is so much more that could be done to improve things, now that you have the WPS classes to hand, for example, how about&#8230;..</p>
<ul>
<li>Multiple delete checkboxes</li>
<li>A toolbar of icons for compose, inbox/sent view, paging, etc</li>
<li>Maybe side by side inbox and message (when one is selected)</li>
</ul>
<p>The <a title="Create a WPS Mail page template, part 7" href="http://www.wpsymposium.com/2012/02/create-a-wps-mail-page-template-part-7/">next</a> and final part of creating a mail page will add a search feature.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/02/create-a-wps-mail-page-template-part-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extending WPS &#8211; adding comments made to profile activity with add_activity_post</title>
		<link>http://www.wpsymposium.com/2012/01/extending-wps-adding-comments-made-to-profile-activity-with-add_activity_post/</link>
		<comments>http://www.wpsymposium.com/2012/01/extending-wps-adding-comments-made-to-profile-activity-with-add_activity_post/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 16:27:43 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[add_activity_post]]></category>
		<category><![CDATA[extending]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1386</guid>
		<description><![CDATA[Want to include comment made on blog posts in members activity? No problem, edit your themes functions.php file (all well developed themes should have such a file to allow you to extend them). Requires WP Symposium v12.02.04 or above. Add the following to functions.php: add_action('comment_post', 'wps_act_on_comment', 20, 2); function wps_act_on_comment($comment_ID, $comment_status){ global $current_user; require_once(ABSPATH.'wp-content/plugins/wp-symposium/class.wps.php'); $wps [...]]]></description>
				<content:encoded><![CDATA[<p>Want to include comment made on blog posts in members activity? No problem, edit your themes <a href="http://www.wpswiki.com/index.php?title=Functions.php" target="_blank">functions.php</a> file (all well developed themes should have such a file to allow you to extend them).</p>
<p><em>Requires WP Symposium v12.02.04 or above.</em></p>
<p>Add the following to functions.php:</p>
<pre class="brush:php">add_action('comment_post', 'wps_act_on_comment', 20, 2);
function wps_act_on_comment($comment_ID, $comment_status){

  global $current_user;
  require_once(ABSPATH.'wp-content/plugins/wp-symposium/class.wps.php');

  $wps = new wps();
  $commentdata=&amp;get_comment($comment_ID, ARRAY_A);
  $post=&amp;get_post($commentdata['comment_post_ID']);

  $activity = '&lt;a href="'.get_permalink($post-&gt;ID).'"&gt;Commented on '.$post-&gt;post_title.'&lt;/a&gt;';
  $wps-&gt;add_activity_post($current_user-&gt;ID, $current_user-&gt;ID, $activity, $type='blogcomment');

}</pre>
<p>You will need to change the path to the class.wps.php file to match your own server setup, it may will be the above as it&#8217;s the default WordPress installation.</p>
<p>It uses the add_activity_post method of the wps class that takes 4 parameters:</p>
<ol>
<li>The ID of the activity author (such as the current user ID)</li>
<li>The ID of the target members (if a comment on activity, probably the current user ID)</li>
<li>The message, including any hyperlinks</li>
<li>The type of post, that current includes &#8216;post&#8217;, &#8216;forum&#8217;, &#8216;gallery&#8217; and &#8216;poke&#8217;</li>
</ol>
<p>To differentiate comments, similar activity should have their own type so I have used &#8216;blogcomment&#8217; above to refer to a comment made on a blog. This allows WPS core code to pick out particular types of activity.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/extending-wps-adding-comments-made-to-profile-activity-with-add_activity_post/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>v12.01.28 release notes</title>
		<link>http://www.wpsymposium.com/2012/01/v12-01-28-release-notes/</link>
		<comments>http://www.wpsymposium.com/2012/01/v12-01-28-release-notes/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 15:11:16 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[12.01.28]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[mail]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1378</guid>
		<description><![CDATA[Further extending the mail class, plus a few other new additions to WPS.]]></description>
				<content:encoded><![CDATA[<p>As with previous releases, this release continues the extension of the WPS classes for WP Symposium page template and plugin/widget development, plus a few of new features.</p>
<p>With this release comes further tutorials to extend the mail page template adding a compose new mail option, and then sending it. See the <a title="Tutorials" href="http://www.wpsymposium.com/tutorials/">tutorial page</a> to list the tutorials.</p>
<p>All the files are in the wp-symposium/tutorials folder in the main WPS plugin downloaded from <a href="http://www.wordpress.org" target="_blank">wordpress.org</a>, or the tutorial files themselves from <a href="/wp-content/plugins/wp-symposium/tutorials" target="_blank">here</a>.</p>
<p><strong>Deleting topics</strong></p>
<p>Owners of forum topics can now delete the topic, along with the site admin. They do this from the list of topics as before. A little trash icon appears when you hover your mouse over any topics that you have created.</p>
<p><strong>Login to forum page, staying on the page</strong></p>
<p>A new option for admins, on the forum settings is &#8220;Show login form&#8221;. If checked, when a visitor comes to the forum, a login form is shown at the bottom of the topic (assuming they have access to see the forum at all). Logging in, the user will be redirected to the same page, over-riding any other login settings that may have been added.</p>
<p><img class="aligncenter size-full wp-image-1379" title="Screen Shot 2012-01-28 at 15.05.54" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-28-at-15.05.54.png" alt="" width="593" height="360" /></p>
<p><strong>Links in notification emails are &#8220;clickable&#8221;</strong></p>
<p>Links back to the forum for topic replies are now clickable, with HTML. This shouldn&#8217;t be a problem for email clients as new topics and new mail had those links already, but will be monitored.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/v12-01-28-release-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a WPS Mail page template, part 5</title>
		<link>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-5/</link>
		<comments>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-5/#comments</comments>
		<pubDate>Sat, 28 Jan 2012 14:39:47 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mail]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1366</guid>
		<description><![CDATA[This part of the tutorial, following on from part 4, allows us to send mail. It uses wps_mail_page_5.php. We are going to have a hidden compose form that appears when you click (in the case of this tutorial) a link on the same page. A drop-down list will show your friends, and when sent it will [...]]]></description>
				<content:encoded><![CDATA[<p>This part of the tutorial, following on from <a title="Create a WPS Mail page template, part 4" href="http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-4/">part 4</a>, allows us to send mail. It uses <em>wps_mail_page_5.php</em>. We are going to have a hidden compose form that appears when you click (in the case of this tutorial) a link on the same page. A drop-down list will show your friends, and when sent it will send a private mail internally, and an email notification.</p>
<p><img class="aligncenter size-full wp-image-1368" title="compose" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/compose.png" alt="" width="423" height="375" /></p>
<p>First thing is to add a little jQuery magic that will be used to show and hide the compose form. It&#8217;s off-topic, so please refer to lines 20-56. They should be in a separate JS file, but are included for the sake of the tutorial. I&#8217;ll refer back to the jQuery below when it&#8217;s used.</p>
<p>Ok, so the lines we are focussing are to send the mail to handle the form. I&#8217;m going to do it in reverse order.</p>
<p><strong>Showing the compose form</strong></p>
<p>To keep things tidy, and as an example of how to do it although slightly off-top, we are going to show a &#8220;Compose new mail&#8221; link to show the form, and a (hidden initially) &#8220;Back to inbox&#8230;&#8221; link to hide the form and re-display the inbox. </p>
<pre class="brush:php">echo '&lt;a href="javascript:void(0)" id="my-show-compose-form"&gt;Compose new mail&lt;/a&gt;';
echo '&lt;a href="javascript:void(0)" id="my-hide-compose-form" style="display:none;"&gt;Back to inbox...&lt;/a&gt;';</pre>
<p><img class="aligncenter size-full wp-image-1369" title="tomail" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/tomail.png" alt="" width="872" height="387" /></p>
<p>Notice the the &#8220;Back to inbox&#8221; link starts off hidden. I&#8217;ll not go into any deeper, it&#8217;s more about jQuery and CSS. Suffice it to say, that when you click on the &#8220;my-show-compose-form&#8221; link, the appropriate jQuery code kicks in and hides the inbox (and other bits) and shows the compose form (a DIV with an id of &#8220;my-compose-form&#8221;). &#8220;Back to inbox&#8230;&#8221; will do the opposite.</p>
<p><strong>Starting the compose form</strong></p>
<p>The form will be an HTML form that will POST back the data to the current script that will fire off the mails. We&#8217;ll cover the bit that does the sending now, but to prepare that step the form includes a hidden action field. It will make sense when we look at the code that does the mail sending!</p>
<p>So we start the FORM, add the hidden &#8220;action&#8221; field, and starting laying out the structure of the DIVs that use the CSS in <em>wps_mail_page.css</em> to position them on screen.</p>
<p>Quite quickly we get to the drop-down list of possible recipients.</p>
<p><strong>Getting the list of friends into a drop down list</strong></p>
<p>You can handle the recipient how you want, predictive typing would be nice, but this tutorial is about interacting with the WPS classes. So I&#8217;m just going to put them in a drop-down list. There are a small number of steps to this, namely:</p>
<ol>
<li>Get the list of friends</li>
<li>Add the current user (so they appear on the list)</li>
<li>Sort this list by display name (my choice, you can do what you want!)</li>
<li>Show the drop down list</li>
</ol>
<p>Getting the list of friends uses the wps_user class:</p>
<pre class="brush:php">$wps_user = new wps_user();
$friends = $wps_user-&gt;get_friends();</pre>
<p>If you&#8217;ve worked through the profile page tutorial you&#8217;ll recognise this, check it out if you want more detailed info. It returns a list of the current user&#8217;s friends after first creating a $wps_user object.</p>
<p>So that we can sort our recipient list, and add the friends display name, we do this:</p>
<pre class="brush:php">$frends_array = array();
foreach ($friends as $friend) {
  $friend_user = new $wps_user($friend-&gt;id);
  $friends_array[] = array("id"=&gt;$friend-&gt;id, "display_name"=&gt;$friend_user-&gt;get_display_name());
}</pre>
<p>What we do here is set up a new array. This is a PHP topic of its own, if you want to know more Google for PHP array and you&#8217;ll find a wealth of information.</p>
<p>We loop through all the friends, getting each of the friend&#8217;s user ID. For each, we create a new user object (passing the friends ID) for each, and use their display name, along with their ID, to add to our array. For those interested in the detail, we are creating an array of arrays &#8211; if you don&#8217;t have a deep enough knowledge of PHP,  it doesn&#8217;t matter much, so long as you can follow the code through.</p>
<p>Finally, we add the current user to the array:</p>
<pre class="brush:php">$friends_array[] = array("id"=&gt;$current_user-&gt;ID, "display_name"=&gt;$current_user-&gt;display_name);</pre>
<p>We now have our array that will be populating the drop-down list, but first we reorder the array using a handy function that comes with WPS:</p>
<pre class="brush:php">$friends_array = sub_val_sort($friends_array, 'display_name');</pre>
<p>The array is now sorted by display name, ready to be turned into a drop-down list. Simple really now, we just loop through the array, building up the HTML of the drop-down list.</p>
<pre class="brush:php">echo '&lt;select name="my-recipient"&gt;';
foreach ($friends_array as $i =&gt; $row) {
  echo '&lt;option value='.$row['id'].'&gt;'.$row['display_name'].'&lt;/option&gt;';
}
echo '&lt;/select&gt;';</pre>
<p><strong>Subject, message and send button</strong></p>
<p>These are all UI elements, ready for you to use, so added in 3 lines!</p>
<pre class="brush:php">echo $wps_ui-&gt;mail_subject("Subject of mail", "my-compose-form-subject").'&lt;br /&gt;';
echo $wps_ui-&gt;mail_message("Message...", "my-compose-form-message").'&lt;br /&gt;';
echo $wps_ui-&gt;mail_send_button("Send", "my-submit-button");</pre>
<p>For each, we pass the default text, and a class that is used for styling purposes. Both are optional, but it&#8217;s probable that you&#8217;ll want to be in control and use them.</p>
<p>Just a matter of closing a DIV and the FORM and the compose form is ready for use :)</p>
<p>Groovy!</p>
<p><strong>Sending the mail</strong></p>
<p>So, we fill out our form, then what happens? The FORM will POST the data to the current script. This is not great, as page reloads will cause the mail to be sent again. It should really be in a separate file that then redirects back to the inbox. It&#8217;s out of scope of this tutorial as that&#8217;s more PHP programming, maybe covered in a separate tutorial later if I get requests!</p>
<p>We now go back to the code block that is checking for either a URL parameter or FORM POST with action against it. We are including this in the form data sent from the compose form. Is it starting to hang together yet? Hope so!</p>
<p>If the action is &#8220;sendmail&#8221; (as in our compose form), and it will do the following:</p>
<pre class="brush:php">if ( !$wps_mail-&gt;sendmail($_POST['my-recipient']) ) {
 echo '&lt;p&gt;Problem sending mail, sorry.&lt;/p&gt;';
}</pre>
<p>The first line is actually doing all the work (the condition around it checks to see if false is returned, and if so displays an error message &#8211; true is returned if the mail was sent okay).</p>
<p>All we have to do with $wps_mail-&gt;sendmail() is pass the value from the drop-down list, which is the ID of the mail recipient (not the display name, the value of the drop-down list items i.e. the value of the &lt;option&gt; tag). This parameter is used as you may display (and allow selection from) your recipient list in any shape or form, but the recipient ID is what counts. I don&#8217;t want to force recipient lists to always be drop-down lists.</p>
<p>What about the subject and message? Well, the sendmail class knows what they are as we used the wps_ui class to display them, and so it knows where to look. It will then send the private mail, and an email notification (unless the recipient as changed their settings not to receive one).</p>
<p>Not much code there, hopefully making your life as a WPS developer easier. Now play around and create your own compose form, not forgetting the styles in the wps_mail_page.css file. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a WPS Profile page template, part 5</title>
		<link>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-5/</link>
		<comments>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-5/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 16:42:27 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1358</guid>
		<description><![CDATA[After part 4 of the tutorial, we are now going to get fancy, and combine the profile page tutorial with the mail page tutorial, for a bit of fun. We are going to tell the user, if it&#8217;s their page, how many mail messages they&#8217;ve got, and how many are unread. As well as that, [...]]]></description>
				<content:encoded><![CDATA[<p>After <a title="Create a WPS Profile page template, part 4" href="http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-4/">part 4</a> of the tutorial, we are now going to get fancy, and combine the profile page tutorial with the <a title="Create a WPS Mail page template, part 1" href="http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-1/">mail page tutorial</a>, for a bit of fun. We are going to tell the user, if it&#8217;s their page, how many mail messages they&#8217;ve got, and how many are unread. As well as that, we are going to show the most recent unread mail messages. Of course they will be able to click on the mail message to read it, or click on the member who sent it and go to their page.</p>
<p>If you look at/use <em>wp_profile_page_7.php</em> you&#8217;ll be able to follow what we are about to do (try it out as your page template too).</p>
<p>So let&#8217;s make sure we have included the wps_mail class file:</p>
<pre class="brush:php">require_once(ABSPATH.'wp-content/plugins/wp-symposium/class.wps_mail.php');</pre>
<p><img class="alignright  wp-image-1359" title="Screen Shot 2012-01-25 at 16.39.20" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-25-at-16.39.20.png" alt="" width="187" height="258" />Now jump down to line 126-156. I&#8217;m not going to explain every line, just some key things that are worth mentioning.</p>
<p>By now you should have realised that the layout is entirely down to your imagination.</p>
<p>It would also be (very!) worthwhile following at least the first few parts of the mail page tutorial, it will help a lot as what we&#8217;re about to do is covered in more detail there (at least most of it).</p>
<p>So first lets make sure you are looking at your own page with the following:</p>
<pre class="brush:php">if ($wps-&gt;get_current_user_page() == $current_user-&gt;ID) {</pre>
<p>And now create a new object ($wps_mail) that we can use to &#8220;do stuff&#8221; with!</p>
<pre class="brush:php">$wps_mail = new wps_mail();</pre>
<p>We then get the total number of unread messages by passing true as a parameter to the same get_inbox_count() method:</p>
<pre class="brush:php">$unread = $wps_mail-&gt;get_inbox_count(true);</pre>
<p>And put something to tell the user how many message they have including how many are unread, with rather a longish, complicated line of code:</p>
<pre class="brush:php">echo 'You have '.($cnt = $wps_mail-&gt;get_inbox_count()).' message'.($cnt != 1 ? 's' : '').' of which '.$unread.' '.($unread != 1 ? 'are' : 'is').' unread.';</pre>
<p>Apologies for this line, I&#8217;m showing off really by combining more than one thing &#8211; dreadful practice for tutorials, please indulge me&#8230; I should, as I am sure I&#8217;ll be told, use proper translation methods rather than assume everything will be in English.</p>
<p>See my previous comment and apology for that, and remember this is a WPS class tutorial not a PHP tutorial ;) In summary, $cnt will be the total number of messages and $unread, as previous defined, is the number of unread messages.</p>
<p>If you are having trouble following this, you could break it out and do this instead:</p>
<pre class="brush:php">$unread = $wps_mail-&gt;get_inbox_count(true);
$message_s = ($cnt != 1 ? 's' : '');
$cnt = $wps_mail-&gt;get_inbox_count();
$is_are = ($unread != 1 ? 'are' : 'is');
echo 'You have '.$cnt.' message'.$message_s;
echo ' of which '.$unread.' '.$is_are.' unread.';</pre>
<p>If there are any unread messages, we then show the most recent mail (maximum of 3 in my case). We already have the number of unread messages ($unread), so we set $recent to a maximum of 3, or whatever $unread is. You can change 3 to whatever value you want of course.</p>
<pre class="brush:php">$recent = $unread &gt; 3 ? 3 : $unread;</pre>
<p>and if there are more than one, show a little extra text.</p>
<p>We then get the most recent unread messages with some parameters:</p>
<pre class="brush:php">$recent_mail = $wps_mail-&gt;get_inbox($recent, 0, 18, "", true, 0, true);</pre>
<p>The parmeters are:</p>
<ul>
<li>the number of messages to retrieve ($recent)</li>
<li>start at the first message (0)</li>
<li>set the size of the avatar (18 pixels)</li>
<li>the search term (&#8220;&#8221; as we want anything)</li>
<li>order from most recent first (true)</li>
<li>the maximum length of the message (0 as we&#8217;re not going to use it)</li>
<li>unread messages only (true)</li>
</ul>
<div>and then we loop through the messages, displaying them on screen. This you can see in more detail in the mail page template tutorial.</div>
<div></div>
<div>And that&#8217;s it, we now show the most recent (up to 3) messages that are unread, linked to the mail page.</div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a WPS Mail page template, part 4</title>
		<link>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-4/</link>
		<comments>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-4/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 07:39:47 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mail]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1353</guid>
		<description><![CDATA[This is part 4 of the tutorial, moving on from part 3. It uses wps_mail_page_4.php. Remember you should copy this to your themes folder, along with wps_mail_page.css and change your new mail page template (mine is &#8220;AA Mail&#8221;) on the dashboard&#8217;s edit page screen. Paging Chances are, you will get more than 5 or 10 mail messages in [...]]]></description>
				<content:encoded><![CDATA[<p>This is part 4 of the tutorial, moving on from <a title="Create a WPS Mail page template, part 3" href="http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-3/">part 3</a>. It uses <em>wps_mail_page_4.php</em>. Remember you should copy this to your themes folder, along with <em>wps_mail_page.css</em> and change your new mail page template (mine is &#8220;AA Mail&#8221;) on the dashboard&#8217;s edit page screen.</p>
<p><strong>Paging</strong></p>
<p><img class="alignright size-full wp-image-1354" title="paging" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/paging.png" alt="" width="261" height="97" />Chances are, you will get more than 5 or 10 mail messages in your inbox. We could just show a long list, but that would not be very nice &#8211; far better to be able to &#8220;page&#8221; through the inbox messages, and jump between pages (and jump straight to first and last page).</p>
<p>So we first set up where we are going to start from (which message), and how long our page of mail messages will be:</p>
<pre class="brush:php">$start = isset($_GET['start']) ? $_GET['start'] : 0;
$page_length = 5;</pre>
<p>$start will hold the first message to show (where 0 is the first, 1 the second, and so on). It checks to see if a value has been passed as a parameter in the URL (?start=10 for example &#8230; trust me for now, we&#8217;ll cover this in a bit), or otherwise sets it to 0 (the first one).</p>
<p>$page_length is the number of messages to show on each page, I&#8217;m setting it at 5 for now.</p>
<p>Now, when we get our inbox messages, we pass a couple of parameters (line 92):</p>
<pre class="brush:php">$inbox = $wps_mail-&gt;get_inbox($page_length, $start);</pre>
<p>In other words, how many messages, and starting from which message. Doing just this will show the first 5 messages. So we need to work out which page we&#8217;re on, and show the list of pages accordingly. </p>
<p>The first thing we need to do is find out how many messages there are in total, and then calculate how many pages of messages there will be (based on our $page_length):</p>
<pre class="brush:php">$inbox_count = $wps_mail-&gt;get_inbox_count();</pre>
<pre class="brush:php">$pages = ($inbox_count % $page_length) == 0 ? $inbox_count / $page_length : floor($inbox_count / $page_length) + 1;</pre>
<p>You don&#8217;t need to understand the maths, or even the line of code, suffice it to say that $pages will now be the number of pages according to the total count of messages in your inbox.</p>
<p>If there is more than one page (otherwise page numbers are irrelevant), we do the following:</p>
<ol>
<li>Get the current page</li>
<li>If past the first page, show a link to the &#8220;First&#8221; page</li>
<li>If past the first page, show a link to the &#8220;Previous&#8221; page</li>
<li>Loop through all the pages, either highlighting the current page, or adding a link to the page in the loop</li>
<li>If before the last page, show a link to the &#8220;Next&#8221; page</li>
<li>If before the last page, show a link to the &#8220;Last&#8221; page</li>
</ol>
<p>There is a fair bit of number crunching going on, but the links referred to above are the important bits here, for example (from line 156):</p>
<pre class="brush:php">echo '&lt;a href="'.$wps-&gt;get_mail_url().'?start=0"&gt;First&lt;/a&gt; ';</pre>
<p>The hyperlink is set to the mail page, with start as a parameter set to 0. By effectively re-loading the same page and setting start to 0, we are telling the page to display messages from 0 (ie. the beginning!). Let&#8217;s consider something more complicated at line 178:</p>
<pre class="brush:php">echo '&lt;a href="'.$wps-&gt;get_mail_url().'?start='.(($p*$page_length)-$page_length).'"&gt;'.$p.'&lt;/a&gt;';</pre>
<p>The hyperlink will go to $wps-&gt;get_mail_url().&#8217;?start=&#8217;.(($p*$page_length)-$page_length). The key here is the parameter that start is set to. It works out the first message on the page the loop is up to, that&#8217;s what (($p*$page_length)-$page_length) is doing!</p>
<p>For example, if as we loop through the number of pages ($pages), let&#8217;s say we get to page 4 (so $p = 4), and we are working with a $page_length of 5 messages. Start will then be set to ((4*5)-5), or 15. The fifteenth message would be the first message shown, and would be the first message on page 4 (remember, page 1 would be 0, page 2 would be 5, page 3 would be 10 and page 4 would be 15).</p>
<p>And we have paging, awesome! :)</p>
<p><a title="Create a WPS Mail page template, part 5" href="http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-5/">Next step</a>, add a compose new mail form and sending the mail.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a WPS Mail page template, part 3</title>
		<link>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-3/</link>
		<comments>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-3/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 10:20:45 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mail]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1344</guid>
		<description><![CDATA[Following on from part 2, this part of the tutorial uses wps_mail_page_3.php, pop it in your theme folder and change your mail page to use that as it&#8217;s template. Have I read it yet? It&#8217;s always handy to know if you&#8217;ve read a mail message or not, so we check with the following: $mail_unread = $mail['mail_read'] [...]]]></description>
				<content:encoded><![CDATA[<p>Following on from <a title="Create a WPS Mail page template, part 2" href="http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-2/">part 2</a>, this part of the tutorial uses <em>wps_mail_page_3.php</em>, pop it in your theme folder and change your mail page to use that as it&#8217;s template.</p>
<p><strong>Have I read it yet?</strong></p>
<p>It&#8217;s always handy to know if you&#8217;ve read a mail message or not, so we check with the following:</p>
<pre class="brush:php">$mail_unread = $mail['mail_read'] == 'on' ? '' : 'my-inbox-unread';</pre>
<p>$mail_unread will either be &#8220;my-inbox-unread&#8221; or &#8220;&#8221; depending if $mail['mail_read'] is set to &#8220;on&#8221; or &#8220;&#8221;. This is then added as a class to the row in our inbox table, and CSS applied accordingly (the my-inbox-unread style).</p>
<p><strong>Viewing the message</strong></p>
<p>Go to line 132. The first thing we are doing here is to get the message to view:</p>
<pre class="brush:php">$message = $wps_mail-&gt;get_message($_GET['mail_id']);</pre>
<p><em>I am sure someone will point out that actually we are just setting here, not getting (that happens later). It just makes sense when you&#8217;re &#8220;thinking&#8221; your code through, but I take your point&#8230;</em></p>
<p>The message is set by the parameter passed, that is the ID of the mail clicked on in the inbox. So yes, we&#8217;re missing something here! How is that passed?</p>
<p>Go back to line 98:</p>
<pre class="brush:php">echo '&lt;a href="'.$wps-&gt;get_mail_url().'?mail_id='.$mail['mail_id'].'"&gt;'.$mail['mail_subject'].'&lt;/a&gt;';</pre>
<p>We are now showing the mail subject, with a hyperlink to the mail page (current page!) with a URL parameter (?mail_id=x where x is the id of the mail item in the current loop).</p>
<p>Ok, so with that, when we click on the mail subject, the browser will go to the mail page (current page), with the parameter in the URL of mail_id of the message. Now, line 132 can get that URL parameter and pass it to set which mail message we are talking about!</p>
<p>Hope that&#8217;s clear, ahem&#8230;</p>
<p>Now that $message is set to our message we can do something with it &#8211; show the message. You should be able to see what we are doing, and the fields that are available, but briefly the important bits are:</p>
<pre>$message-&gt;mail_from - ID of sender
$message-&gt;mail_sent - date sent/received
$message-&gt;mail_subject - subject
$message-&gt;mail_message - message itself</pre>
<p>You may have noticed that we are including the wps_user class at the top of the file. No? Take a look. That&#8217;s so we can create an object of the user who sent the mail and then use it! Line 138:</p>
<pre class="brush:php">$sender = new wps_user($message-&gt;mail_from);</pre>
<p>So $sender is the user who sent the mail, and then on lines 150 and 152 we use it as follows:</p>
<pre class="brush:php">$sender-&gt;get_avatar(120) - show the avatar of the person who sent the mail
$sender-&gt;get_profile_url() - show the sender's display name and link to their profile</pre>
<p>If you&#8217;ve gone through the profile page template tutorial you&#8217;ll appreciate that you could show a lot more information, which might be useful if your website is geared towards knowing more about the other members on the site and you want that information shown beside the mail message. Over to you on that one&#8230;!</p>
<p><strong>Going back?</strong></p>
<p>Now we can see the mail message, it would be handy to go back to the inbox. No problem, line 146 does that:</p>
<pre class="brush:php">echo '&lt;a href="'.$wps-&gt;get_mail_url().'"&gt;Back to inbox...&lt;/a&gt;';</pre>
<p><img class="aligncenter size-full wp-image-1345" title="Screen Shot 2012-01-23 at 09.25.14" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-23-at-09.25.14.png" alt="" width="860" height="171" /></p>
<p><strong>And finally&#8230;.</strong></p>
<p>Having read the mail message, we need to flag it as read. Easily done:</p>
<pre class="brush:php">$wps_mail-&gt;set_as_read($message-&gt;mail_mid);</pre>
<p>Quite a lot happened in this part of the tutorial. Use the code in <em>wps_mail_page_3.php</em>, read it through and play around with it &#8211; that&#8217;s the best way to learn!</p>
<p>What next? Paging for your inbox!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Create a WPS Mail page template, part 2</title>
		<link>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-2/</link>
		<comments>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-2/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 10:18:48 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mail]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1340</guid>
		<description><![CDATA[Following on from part 1, we are now going to format the contents of the users inbox, showing their avatar, and so on. It will look like this: All we are really doing is adding some DIVs and applying some of the styles from the CSS. You can play around with this as much as [...]]]></description>
				<content:encoded><![CDATA[<p>Following on from <a title="Create a WPS Mail page template, part 1" href="http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-1/">part 1</a>, we are now going to format the contents of the users inbox, showing their avatar, and so on. It will look like this:</p>
<p><img class="aligncenter size-full wp-image-1341" title="Screen Shot 2012-01-23 at 09.04.06" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-23-at-09.04.06.png" alt="" width="858" height="399" />All we are really doing is adding some DIVs and applying some of the styles from the CSS. You can play around with this as much as you want to make whatever sort of page you desire!</p>
<p>Nothing much is added &#8211; the majority is the layout itself, however some additional class methods add the following:</p>
<p>$mail['avatar'] &#8211; displays the avatar of the member who sent the mail</p>
<p>$mail['display_name_link'] &#8211; shows the name of the sender, as a link to their profile page</p>
<p>wps_get_monthname() &#8211; this is a WPS function that will get the text of a month if passed a numeric (1-12). It is used to make the format of the mail_sent value more readable!</p>
<p>You can use your imagination to layout the inbox contents &#8211; what about highlight the most recent message at the top with different styles?</p>
<p>The <a title="Create a WPS Mail page template, part 3" href="http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-3/">next part</a> of the tutorial will highlight read/unread messages and display of mail message when clicked on :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a WPS Mail page template, part 1</title>
		<link>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-1/</link>
		<comments>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-1/#comments</comments>
		<pubDate>Mon, 23 Jan 2012 10:16:06 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mail]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1335</guid>
		<description><![CDATA[This set of tutorials will cover how to use the wps_mail class (and the others) to create a custom WP Symposium mail page template. The classes can also be used to create WPS plugins and widgets. So that I don&#8217;t need to duplicate information, I&#8217;ll assume that you&#8217;ve worked through the profile page template tutorial. [...]]]></description>
				<content:encoded><![CDATA[<p>This set of tutorials will cover how to use the wps_mail class (and the others) to create a custom WP Symposium mail page template. The classes can also be used to create WPS plugins and widgets.</p>
<p>So that I don&#8217;t need to duplicate information, I&#8217;ll assume that you&#8217;ve worked through the <a title="Create a WPS Profile page template, part 1" href="http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-1/">profile page template tutorial</a>.</p>
<p>Unfortunately I may not have time to respond personally to queries on this tutorial (I&#8217;ll try!), but there is an area of the forum for questions (which would be better so answers are available to others to see and learn from).</p>
<p><strong><img class="alignright size-full wp-image-1336" title="Screen Shot 2012-01-23 at 08.58.55" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-23-at-08.58.55.png" alt="" width="247" height="342" />Let&#8217;s get started</strong></p>
<p>So this first part is going to use the wps_mail class to retrieve and display mail for the currently logged in user, just to make sure the basics are working. From the tutorials/mail_page_template folder in the wp-symposium plugin folder you will find the tutorial pages as they develop, start by using <em>wps_mail_page_1.php</em> - copy that file, and <em>wps_mail_page.css</em> into your theme folder, creating a page (mine is called AA Mail) and selecting the new page template you copied across.</p>
<p>We are going to include the wps class and the wps_mail class as follows (profile page tutorial provides more information on this, please read that tutorial for more info):</p>
<pre class="brush:php">require_once(ABSPATH.'wp-content/plugins/wp-symposium/class.wps.php');
require_once(ABSPATH.'wp-content/plugins/wp-symposium/class.wps_mail.php');</pre>
<pre class="brush:php">$wps = new wps();
$wps_mail = new wps_mail(); // defaults to current logged in user</pre>
<p><strong>Telling WP Symposium about your new mail page</strong></p>
<p>As in the profile page template, we need to set WPS mail page location to our new page (mine is at /aa-mail), see the profile page template tutorial if you need to remind yourself why.</p>
<pre class="brush:php">$wps-&gt;set_mail_url('/aa-mail');</pre>
<p>Finally, we will include the CSS file that should be sitting in your theme folder (your path may be different):</p>
<pre class="brush:php">&lt;link rel="stylesheet" type="text/css" href="&lt;?php bloginfo('template_url'); ?&gt;/wps_mail_page.css" /&gt;</pre>
<p><strong>Getting the contents of the users inbox</strong></p>
<pre class="brush:php">$inbox = $wps_mail-&gt;get_inbox();</pre>
<p>This will set $inbox to the current users inbox contents.</p>
<p>If you wanted to use a different user, pass their ID as a parameter.</p>
<p>$inbox will be an array, so we can then loop through showing the various fields passed back.</p>
<p>So we simply use a PHP loop to display the basic mail information for each returned.</p>
<pre class="brush:php">if ($inbox) {
 foreach($inbox as $mail) {
  echo 'From: '.$mail['display_name'].'&lt;br /&gt;';
  echo 'Subject: '.$mail['mail_subject'].'&lt;br /&gt;';
  echo 'Date: '.$mail['mail_sent'].'&lt;br /&gt;';
  echo 'Message: '.$mail['mail_message'].'&lt;br /&gt;&lt;br /&gt;';
 }
} else {
 echo "You have no mail in your inbox.";
}</pre>
<p>Even with basic PHP know-how you should hopefully see what&#8217;s happening &#8211; play around and you can change the format (although we will do that in part 2&#8230;).</p>
<p>There are other parameters you can pass:</p>
<pre class="brush:php">get_inbox(count, start_from, avatar_size, search_term, order, message_length)</pre>
<p>We will cover the other parameters as we work through the tutorial, but feel free to play around with them! For example, to return a maximum of 20 mail messages (20), starting from the first one (0), an avatar of 40&#215;40 pixels (40), no search term (&#8220;&#8221;), most recent first (true) and the first 75 characters of the message (75):</p>
<pre class="brush:php">get_inbox(20, 0, 40, "", true, 75)</pre>
<p>Nifty! <a title="Create a WPS Mail page template, part 2" href="http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-2/">Part 2</a> makes it look a little nicer&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/create-a-wps-mail-page-template-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>v12.01.21 released</title>
		<link>http://www.wpsymposium.com/2012/01/v12-01-21-released/</link>
		<comments>http://www.wpsymposium.com/2012/01/v12-01-21-released/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 15:58:50 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[v12.01.21]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1329</guid>
		<description><![CDATA[Starting creating your own WPS Mail page template!]]></description>
				<content:encoded><![CDATA[<p>This release continues the extension of the WPS classes for WP Symposium page template and plugin/widget development.</p>
<p>The main push is towards the creation of a replacement WPS Mail page, up to the point of setting up your inbox (with paging) and reading the messages.</p>
<p>I&#8217;m setting up a <a title="Tutorials" href="http://www.wpsymposium.com/tutorials/">tutorial page</a> to list the tutorials &#8211; bear with me while I create the mail tutorials, you may want to subscribe to an RSS feed of the blog to get notification.</p>
<p>But all the files are in the wp-symposium/tutorials folder in the main WPS plugin downloaded from wordpress.org.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/v12-01-21-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Create a WPS Profile page template, part 4</title>
		<link>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-4/</link>
		<comments>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-4/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 15:27:11 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1314</guid>
		<description><![CDATA[With the basis of the page done in previous tutorials, post will now just cover additional methods added to the various classes, or how to achieve particular results.Please read part 1 onwards first. I am sorry that I probably won’t have enough hours in the day to offer guaranteed support, but there is a dedicated forum area where I will [...]]]></description>
				<content:encoded><![CDATA[<p>With the basis of the page done in previous tutorials, post will now just cover additional methods added to the various classes, or how to achieve particular results.Please read <a title="Create a WPS Profile page template, part 1" href="http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-1/">part 1</a> onwards first.</p>
<p>I am sorry that I probably won’t have enough hours in the day to offer guaranteed support, but there is a dedicated <a href="http://www.wpsymposium.com/discuss/?show=5942">forum area</a> where I will participate as often as possible.</p>
<p>This tutorial requires WPS version 12.11. Please refer to the <em>wps_profile_page_6.php</em> file when following below.</p>
<p><strong><img class="alignright size-full wp-image-1317" title="Screen Shot 2012-01-20 at 15.38.11" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-20-at-15.38.11.png" alt="" width="355" height="143" />Facebook Connect</strong></p>
<p>If you have the WP Symposium Facebook Connect plugin, you can now automatically insert this element into your profile page. It&#8217;s format is as follows:</p>
<pre class="brush:php">$wps_ui-&gt;facebook_connect(user_id, post_text, connect_text, cancel_text);</pre>
<p>The only mandatory parameter is user_id, which should be the id of the user whose page is being viewed. <em>wps_profile_page_6.php</em> shows how this element is only shown if the logged in user is seeing their own page.</p>
<p>So for example, if you wanted to show the Facebook Connect for the currently logged in user, changing the default text, your would do so like this;</p>
<pre class="brush:php">global $current_user;
$wps_ui-&gt;facebook_connect($current_user-&gt;ID, "Send to Facebook", "Send to Facebook too?", "Stop posting to Facebook");</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>v12.01.14 release notes</title>
		<link>http://www.wpsymposium.com/2012/01/v12-01-14-release-notes/</link>
		<comments>http://www.wpsymposium.com/2012/01/v12-01-14-release-notes/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 11:31:50 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[12.01.14]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1308</guid>
		<description><![CDATA[Want to make the profile page look like you want it to? Then check out the new tutorials on the blog!]]></description>
				<content:encoded><![CDATA[<p>Continuing work on the new WPS classes so you can create your own page templates and plugins.</p>
<p>The &#8220;<a title="Create a WPS Profile page template, part 1" href="http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-1/">Creating your own profile page template</a>&#8221; tutorial is now complete &#8211; give it a go and make the profile page look like whatever you want!! :)</p>
<p>This is where the focus is for the moment, it will give you the power (the power?!) to create page templates to make WPS look exactly like you want it to.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/v12-01-14-release-notes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Create a WPS Profile page template, part 3</title>
		<link>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-3/</link>
		<comments>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-3/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 10:10:07 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1299</guid>
		<description><![CDATA[This is the third part of a set of tutorials to show how to create a profile page of your own design. It will use the ever-expanding PHP classes that are provided with WP Symposium. Please read part 1 and part 2 first. I am sorry that I probably won’t have enough hours in the day to [...]]]></description>
				<content:encoded><![CDATA[<p>This is the third part of a set of tutorials to show how to create a profile page of your own design. It will use the ever-expanding PHP classes that are provided with WP Symposium. Please read <a title="Create a WPS Profile page template, part 1" href="http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-1/">part 1</a> and <a title="Create a WPS Profile page template, part 2" href="http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-2/">part 2</a> first.</p>
<p>I am sorry that I probably won’t have enough hours in the day to offer guaranteed support, but there is a dedicated <a href="http://www.wpsymposium.com/discuss/?show=5942">forum area</a> where I will participate as often as possible.</p>
<p>This tutorial requires WPS version 12.11. Please refer to the wps_profile_page_5.php file when following below.</p>
<p>To use the file as a page template, rename <em>wps_profile_page_5.php</em> which is in the tutorials/profile_page_template folder in the wp-symposium plugin folder to wps_profile_page.php and copy it to your theme folder. If using twentyeleven for example, copy it into that folder. As discussed in a moment, you&#8217;ll also need to copy <em>wps_profile_page.css</em> into the same folder. The page you created in step 1 will then use the page template that ties in with this part of the tutorial.</p>
<p>For this part of the tutorial, we&#8217;re  going to add access to the other profile features (friends, groups, etc). And it&#8217;s surprisingly easy to do so.</p>
<p><span id="more-1299"></span></p>
<p>The plan is to add a serious of icons, demonstrating another way of adding options to the profile page.</p>
<p><img class="aligncenter size-full wp-image-2325" title="Screen Shot 2012-11-01 at 10.59.36" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-11-01-at-10.59.36.png" alt="" width="530" height="36" /></p>
<p>From wps_profile_page_5.php, the lines to show the icons are 167-174.</p>
<p>If you are building your own menu, the same important things to remember are:</p>
<ul>
<li>They must have a class of &#8220;__wps__profile_menu&#8221;</li>
<li>They must have one ID from the following:
<ul>
<li>menu_wall (the member&#8217;s activity)</li>
<li>menu_activity (the member&#8217;s activity and friends)</li>
<li>menu_all (all activity)</li>
<li>menu_friends (member&#8217;s friends)</li>
<li>menu_groups (member&#8217;s groups)</li>
<li>menu_avatar (change the member&#8217;s profile photo)</li>
<li>menu_personal (edit key profile information and extended fields)</li>
<li>menu_settings (edit preferences)</li>
</ul>
</li>
</ul>
<p>And that&#8217;s it! AJAX will be used to load the content. Remember you must have the following in your page template. It is used as the place holder for the content loaded up by the menu items.</p>
<pre class="brush:php">echo $wps_ui-&gt;profile_placeholder("wall", "my-placeholder");</pre>
<p>wps_profile_page_5.php can be used as a learning tool &#8211; play around with it, move things around. If you&#8217;re not sure, get rid of all the layout and just try out all the methods in wps_user() to see what values are returned.</p>
<p>The final page looks as follows:</p>
<p><img class="aligncenter size-full wp-image-2326" title="Screen Shot 2012-11-01 at 11.01.57" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-11-01-at-11.01.57.png" alt="" width="858" height="659" /></p>
<p>&nbsp;</p>
<p>Make sure you check out the admin guide the Developer&#8217;s section on <a href="http://www.wpswiki.com" target="_blank">WPS Wiki</a>, it lists all the methods that you can use from the three classes available to you.</p>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a WPS Profile page template, part 2</title>
		<link>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-2/</link>
		<comments>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-2/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 15:00:20 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1259</guid>
		<description><![CDATA[This is the second part of a set of tutorials to show how to create a profile page of your own design. It will use the ever-expanding PHP classes that are provided with WP Symposium. Please read part 1 first. I am sorry that I probably won’t have enough hours in the day to offer [...]]]></description>
				<content:encoded><![CDATA[<p>This is the second part of a set of tutorials to show how to create a profile page of your own design. It will use the ever-expanding PHP classes that are provided with WP Symposium. Please read <a title="Create a WPS Profile page template, part 1" href="http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-1/">part 1</a> first.</p>
<p>I am sorry that I probably won’t have enough hours in the day to offer guaranteed support, but there is a dedicated <a href="http://www.wpsymposium.com/discuss/?show=5942">forum area</a> where I will participate as often as possible.</p>
<p>This tutorial requires WPS version 12.11. Please refer to the wps_profile_page_4.php file when following below.</p>
<p>To use the file as a page template, rename <em>wps_profile_page_4.php</em> which is in the tutorials/profile_page_template folder in the wp-symposium plugin folder to wps_profile_page.php and copy it to your theme folder. If using twentyeleven for example, copy it into that folder. As discussed in a moment, you&#8217;ll also need to copy <em>wps_profile_page.css</em> into the same folder. The page you created in step 1 will then use the page template that ties in with this part of the tutorial.</p>
<p>Try it, take a look &#8211; it&#8217;s worth doing that before reading the following so you can see where I&#8217;m going!</p>
<p>To review, we have displayed a basic set of information on the profile page about the user. We are now going to get the page working for the current WPS member with profile information, avatar, display name, latest activity post and activity streams for your activity, friends activity and all activity. Gosh!</p>
<p><span id="more-1259"></span>So, first off, we need to include all the classes. Remember, you may need to change the path for your server, although the following is for the default WordPress installation, so will probably be okay for most peeps.</p>
<pre class="brush:php">require_once(ABSPATH.'wp-content/plugins/wp-symposium/class.wps.php');
require_once(ABSPATH.'wp-content/plugins/wp-symposium/class.wps_user.php');
require_once(ABSPATH.'wp-content/plugins/wp-symposium/class.wps_ui.php');</pre>
<pre class="brush:php">$wps = new wps();
$wps_user = new wps_user($wps-&gt;get_current_user_page());
$wps_ui = new wps_ui();</pre>
<p>The order is important. The first class is wps() which has a number of general methods for WP Symposium. Our new object, $wps, will be an instance of this class.</p>
<p>With that declared first, we can create a user based on the user we are looking to view, allowing us to use the profile page for all members. We pass $wps-&gt;get_current_user_page() when creating the $wps_user object.</p>
<p>Finally, we are going to use the WPS UI class for certain elements, and so we create an instance of wps_ui() as $wps_ui.</p>
<p><strong>Over-riding the profile page to your own</strong></p>
<p>WP Symposium stores where the profile page is, as it is used throughout. The installation page will look for a page with symposium-profile shortcode and update it accordingly. We need to ensure that our new page is used instead, and so we can update the value dynamically:</p>
<pre class="brush:php">$wps-&gt;set_profile_url('/aa-profile');</pre>
<p>Important! This is setting the URL to my page, as referred to in part 1. Your URL, for your profile page, may be different &#8211; change it if so. In part 1 I created a page called &#8220;AA Profile&#8221; hence the URL above.</p>
<p>Finally, in preparing ourselves, I&#8217;m going to link to an external stylesheet &#8211; it keeps things tidy, and can be found in the tutorials folder. Again, I&#8217;ve hardcoded it, assuming it is copied into your current theme&#8217;s folder.</p>
<pre class="brush:php">&lt;link rel="stylesheet" type="text/css" href="&lt;?php bloginfo('template_url'); ?&gt;/wps_profile_page.css" /&gt;</pre>
<p>This allows me to keep styles out of the PHP file, which helps with the tutorial.</p>
<p>This might be a good time to show you the layout I&#8217;ve &#8220;designed&#8221; (ahem!) that I&#8217;m aiming to provide (click to zoom):</p>
<p style="text-align: center;"><a href="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-11-at-13.59.13.png"><img class="size-medium wp-image-1260 aligncenter" title="Screen Shot 2012-01-11 at 13.59.13" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-11-at-13.59.13-300x208.png" alt="" width="300" height="208" /></a></p>
<p>I appreciate it won&#8217;t win awards, but it&#8217;s significantly different to the default WP Symposium layout to prove a point!</p>
<p>So the &lt;DIV&gt;&#8217;s that I&#8217;ll need, along with the stylesheet, are as follows:</p>
<pre class="brush:php">&lt;div id="primary"&gt;
 &lt;div id="content" role="main"&gt;
 &lt;?php
 // Sidebar
 echo '&lt;div id="my-sidebar"&gt;';
 echo '&lt;div id="my-profile-box"&gt;';
    // Info on the member will appear here
 echo '&lt;/div&gt;';
 echo '&lt;/div&gt;';
 // The member's page "header"
 echo '&lt;div id="my-header-div"&gt;';
    // The header information (name for example) here
 echo '&lt;/div&gt;';
 // The content area
 echo '&lt;div id="my-content" class="symposium-wrapper"&gt;';
    // The main content area
 echo '&lt;/div&gt;';
 ?&gt;
 &lt;/div&gt;&lt;!-- #content --&gt;
&lt;/div&gt;&lt;!-- #primary --&gt;
&lt;?php get_footer(); ?&gt;</pre>
<p>So long as you can appreciate DIV layout and CSS you should see what&#8217;s going on here, sorry but I don&#8217;t have the time or space to offer a tutorial on HTML layout. If you don&#8217;t understand, you can probably learn by playing around with the final PHP and CSS files.</p>
<p>So with the layout sorted out, let&#8217;s get some content on there! :)</p>
<p>Rather than duplicate all the code and fill up this page, I&#8217;m going to highlight where the WPS classes are used, and let you review wps_profile_page_4.php to see how it pins into the layout above.</p>
<p>$wps_user-&gt;get_avatar(204) will display the members avatar with a width of 204 pixels.</p>
<p>The if ($wps_user-&gt;get_id() != $current_user-&gt;ID) { condition checks to see if the member that we are displaying is different to the currently logged in user.</p>
<p>if ($wps_user-&gt;is_friend()) { is used to see of the member is a friend of the current user.</p>
<p>if ($wps_user-&gt;is_pending_friend()) { tests to see if a friendship request has been made, but not yet accepted.</p>
<p>Now we start to use some of the methods from wps_ui() to display WPS elements. So in a slightly different order to in the code:</p>
<p><strong>Displaying the add as a friend text box</strong></p>
<pre class="brush:php">$wps_ui-&gt;friendship_add($wps_user-&gt;get_id(), "Type a message, hit return!", "Request sent.", "my-input-box");</pre>
<p>We pass four parameters here, with only the first being mandatory:</p>
<ol>
<li>The ID of the member (not the currently logged in user, the member whose page we are looking at)</li>
<li>The default prompt in the input box</li>
<li>The text displayed after a request has been sent</li>
<li>A class so I can control the CSS of the input box</li>
</ol>
<p>I&#8217;m not showing the button, but there is a related method called friendship_add_button, see the <a href="http://www.wpswiki.com" target="_blank">WPS Wiki</a> for more info on parameters.</p>
<pre class="brush:php">$wps_ui-&gt;friendship_cancel($wps_user-&gt;get_id(), 'Cancel', 'Cancelled!', 'my-submit-button');</pre>
<p>This is a similar method, but shows the Cancel button if a friendship has been made, but not yet accepted or declined.</p>
<p><img class="alignright size-full wp-image-1261" title="Screen Shot 2012-01-11 at 14.18.54" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-11-at-14.18.54.png" alt="" width="229" height="311" /></p>
<p><strong>The Poke(tm) button</strong></p>
<p><strong></strong>$wps_ui-&gt;poke_button()  will insert the Poke (Facebook trademark) button onto the page.</p>
<p>I&#8217;m using the value as set in the back-end, it&#8217;s a constant. You could pass any text here, but remember you can&#8217;t use trademarked words like Poke or Nudge. I also pass an optional class so I can control the style.</p>
<p>So that shows an avatar, friendship status (or relevant input boxes/buttons) and a Poke button (I&#8217;ve called mine Wink!).</p>
<p><strong>Showing the personal information</strong></p>
<p>$wps_user-&gt;is_permitted(&#8216;personal&#8217;) is used, and returns a boolean value, set to true if the current logged in user is allows to see the member&#8217;s personal information (Everyone, Friends Only, Public).</p>
<p>If permitted, location information and date of birth is displayed using the following:</p>
<pre class="brush:php">$wps_user-&gt;get_city()
$wps_user-&gt;get_dob_day()
$wps_user-&gt;get_dob_month()
$wps_user-&gt;get_dob_year()</pre>
<p>Also, a WPS function is used to format the output of the month, displaying a month as text instead of the number:</p>
<pre class="brush:php">wps_get_monthname()</pre>
<p><strong>Profile Extended Fields</strong></p>
<p>I decided I wanted to show the extended fields on the profile page. $wps_user-&gt;get_extended() will return an array of the extended information, in order as per the order field, with the following fields:</p>
<ul>
<li>name: the name of the extended field</li>
<li>value: the value stored</li>
<li>type: Text, Textarea, List, or Checkbox</li>
<li>order: the display order</li>
</ul>
<p>Displaying the information is then fairly straightforward.</p>
<pre class="brush:php">$extended = $wps_user-&gt;get_extended();
foreach ($extended as $row) {
  if ($row['type'] != 'Checkbox') {
     echo '&lt;span class="my-info-label"&gt;'.stripslashes($row['name']).':&lt;/span&gt; '.stripslashes($row['value']).'&lt;br /&gt;';
  } else {
    echo $row['name'].'&lt;br /&gt;';
  }
}</pre>
<p>I check to see it&#8217;s a checkbox or not. If it is, I will just list the values that are selected. This would be useful if, for example, you gave members a list of things they were interested in, or games they played, or departments they worked in, and wanted to list them.</p>
<p><strong>Listing friends</strong></p>
<p>I also want to show the friends of the member, which is returned as an array from $wps_user-&gt;get_friends(). The array consists of:</p>
<ul>
<li>The ID of the friend (id)</li>
<li>When they were list active (last_activity)</li>
</ul>
<p>As can be seen by the code below, it&#8217;s easy to use this if you create a new instance of the wps_user() class for each of the friends, and then use methods you&#8217;ll now be familiar with.</p>
<pre class="brush:php">$friends = $wps_user-&gt;get_friends();
if ($friends) {
  echo '&lt;div id="my-friends-list"&gt;';
    echo '&lt;div style="font-weight:bold; margin-bottom:6px;"&gt;Friends&lt;/div&gt;';
    foreach ($friends AS $friend) {
      if ($friend['id']) {
        echo '&lt;div class="my-friends-list-item"&gt;';
          $friend_user = new wps_user($friend['id']);
          echo '&lt;div style="float:left;margin-right:6px"&gt;'.$friend_user-&gt;get_avatar(44).'&lt;/div&gt;';
          echo $friend_user-&gt;get_profile_url().'&lt;br /&gt;';
          echo '&lt;span class="my-info-label"&gt;Active: '.symposium_time_ago($friend_user-&gt;get_last_activity()).'&lt;/span&gt;';
        echo '&lt;/div&gt;';
      }
    }
  echo '&lt;/div&gt;';
} else {
  echo '&lt;div id="my-friends-list"&gt;No friends&lt;/div&gt;';
}</pre>
<p>Within the loop for each of the friends, a new instance is created with</p>
<pre class="brush:php">$friend_user = new wps_user($friend-&gt;id);</pre>
<p>With this new object ($friend_user) we can then display the avatar, and all the same information from the class. Groovy! This is why we use classes.</p>
<p>There is one my function worth highlighting, as it&#8217;s turns the timestamp of the last_activity into something like &#8220;5 days ago&#8221;:</p>
<pre class="brush:php">symposium_time_ago($friend_user-&gt;get_last_activity())</pre>
<p><strong>The header information</strong></p>
<p>We are now using the same sort of class methods, and you will begin to recognise them. back to our $wps_user instance of the wps_user() class we can quickly display information using the following:</p>
<pre class="brush:php">$wps_user-&gt;get_display_name()
$wps_user-&gt;get_latest_activity()
symposium_time_ago($wps_user-&gt;get_latest_activity_age())</pre>
<p>Take a look at wps_profile_page_4.php to check out the code itself.</p>
<p>So this is what our page now looks like with the member information and header (click to zoom):</p>
<p style="text-align: center;"><a href="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-11-at-15.08.28.png"><img class="aligncenter size-medium wp-image-1268" title="Screen Shot 2012-01-11 at 15.08.28" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-11-at-15.08.28-300x200.png" alt="" width="300" height="200" /></a></p>
<p><strong>The content area</strong></p>
<p>We are going to provide the means to view the member&#8217;s activity, member+friends activity and all activity &#8211; just like the activity menu items in WP Symposium. Awesome! And it&#8217;s going to be fully AJAX&#8217;d &#8211; more awesome!</p>
<p>The DIV for the content area must have a class of &#8220;symposium-wrapper&#8221; &#8211; <strong>very important!</strong> It is used by jQuery/javascript So something like this:</p>
<pre class="brush:php">&lt;div id="my-content" class="symposium-wrapper"&gt;</pre>
<p>The menu itself will show three buttons (actually links) across the top of the activity, using the condition if ($wps_user-&gt;get_id() == $current_user-&gt;ID) { to tailor the &#8220;My Activity&#8221; button, dropping the &#8220;My&#8221; if the current user is not on their own page.</p>
<p>Other than that, the only <strong>really important thing</strong> to remember here, is to make sure the menu items have a class of &#8220;symposium_profile_menu&#8221;, and the id as shown menu for each of them.</p>
<p>Menu&#8217;s will be different on many sites, so a menu is not provided as a WPS class method or element to display. You can then use any menu you want, so long as the id of the activity options can be set, along with their class.</p>
<pre class="brush:php">echo '&lt;div id="my-menu"&gt;';
  if ($wps_user-&gt;get_id() == $current_user-&gt;ID) {
    echo '&lt;div id="menu_wall" class="symposium_profile_menu"&gt;My Activity&lt;/div&gt;';
  } else {
    echo '&lt;div id="menu_wall" class="symposium_profile_menu"&gt;Activity&lt;/div&gt;';
  }
  echo '&lt;div id="menu_activity" class="symposium_profile_menu"&gt;Friends Activity&lt;/div&gt;';
  echo '&lt;div id="menu_all" class="symposium_profile_menu"&gt;All activity&lt;/div&gt;';
echo '&lt;/div&gt;';</pre>
<p><strong>Showing the &#8220;What&#8217;s up?&#8221; input box</strong></p>
<p>Ok, so the menu shows. The following will display an input box where a status or activity post can be made.</p>
<pre class="brush:php">if ($wps_user-&gt;get_id() == $current_user-&gt;ID) {
  $box = $wps_ui-&gt;whatsup("What's up?", "my-input-box"); // parameters are optional
  echo '&lt;div style="clear:both;overflow:auto;margin:0px 0px 10px 10px;"&gt;';
  echo '&lt;div style="float:left;margin-right:10px;"&gt;'.$box.'&lt;/div&gt;';
  echo '&lt;/div&gt;';
}</pre>
<p>$wps_ui-&gt;whatsup(&#8220;What&#8217;s up?&#8221;, &#8220;my-input-box&#8221;) will return the input box, with the default text prompt set as a parameter, and the class to control style. The rest displays it.</p>
<p>The initial condition test ensures this is only shown on the profile page with it is the currently logged in user&#8217;s page!</p>
<p>So our page now looks like this (click to zoom):</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-11-at-15.11.58.png"><img class="aligncenter size-medium wp-image-1274" title="Screen Shot 2012-01-11 at 15.11.58" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-11-at-15.11.58-300x201.png" alt="" width="300" height="201" /></a></p>
<p><strong>Inserting the activity streams (with AJAX!)</strong></p>
<p>This is easier than you would think, with the menu above with the correct id&#8217;s and class&#8217;s we just need to put in a place holder:</p>
<pre class="brush:php">$wps_ui-&gt;profile_placeholder("wall", "my-placeholder");</pre>
<p>Two optional paramaters are:</p>
<ul>
<li>the view: for now try wall, activity or all (equivalent mine, friends or all)</li>
<li>the optional class. Worth looking at .my-placeholder in wps_profile_page.css to see what I&#8217;ve set it to, for layout purposes.</li>
</ul>
<p>As if by magic (code actually), you can now switch between the three views, and via AJAX the content of the activity will update. Lovely jubbly!</p>
<p>The way this actually works is by putting content into the page that WPS then recognises and replaces it with WPS output.</p>
<p>Click the image below to view the page as at the end of this tutorial (part 2).</p>
<p>I would suggest that you take wps_profile_page_4.php, rename it to wps_profile_page.php, put it into your themes folder along with wps_profile_page.css and change the page template for your &#8220;AA Profile&#8221; page (or whatever you called it in part 1 of the tutorial) to see it working.</p>
<p>Then play with the file to change the layout, and experiment with the class methods, particularly the parameters.</p>
<p>Also play around adding your own styles, to make a truly wonderful profile page!</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-11-at-15.53.06.png"><img class="aligncenter size-medium wp-image-1279" title="Screen Shot 2012-01-11 at 15.53.06" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-11-at-15.53.06-300x143.png" alt="" width="300" height="143" /></a></p>
<p>Next and <a title="Create a WPS Profile page template, part 3" href="http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-3/">final part</a> of the tutorial will add more menu items to allow access to the other features, like updating your setting, avatar, and so on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Create a WPS Profile page template, part 1</title>
		<link>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-1/</link>
		<comments>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-1/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 10:06:24 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[template]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1241</guid>
		<description><![CDATA[This is the first part of a set of tutorials to show how to create a profile page of your own design. It will use the ever-expanding PHP classes that are provided with WP Symposium. You are expected to understand the concepts of coding, with an appreciation of PHP and developing for WordPress &#8211; or [...]]]></description>
				<content:encoded><![CDATA[<div>
<p>This is the first part of a set of tutorials to show how to create a profile page of your own design. It will use the ever-expanding PHP classes that are provided with WP Symposium.</p>
<p>You are expected to understand the concepts of coding, with an appreciation of PHP and developing for WordPress &#8211; or have the confidence to dive in and play around with the examples! Knowledge of HTML/CSS for layout would be a distinct advantage!! The best way is to take the tutorial files and play around.</p>
<p>I am sorry that I probably won&#8217;t have enough hours in the day to offer guaranteed support, but there is a dedicated <a href="http://www.wpsymposium.com/discuss/?show=5942">forum area</a> where I will participate as often as possible.</p>
<p>So, let&#8217;s get cracking! The tutorial will be in the form of a walk through, explaining what I have done/do as the files develop. At certain steps, versions of the files will be in a folder called &#8216;tutorials&#8217; in the wp-symposium plugin folder <strong>(from v12.01.07 onwards!)</strong>. For page template files, simply drop them into your theme folder &#8211; they should then appear under the <strong>Template</strong> drop-down menu on the Add New/Edit page in the WordPress dashboard.</p>
<p><span id="more-1241"></span><strong>Creating the initial template file</strong></p>
<p>Nothing fancy here, this is an empty and ready to improve page template file. The file <em>wps_profile_page_1.php</em> is in the tutorials/profile_page_template folder. Pop it in your theme folder.</p>
<p><strong>Note &#8211; you may want to rename wps_profile_page_1.php to (probably) wps_profile_page.php. This applies to all the tutorial files wps_profile_page_2.php, wps_profile_page_3.php, etc&#8230;</strong></p>
<p>Once done, create a new page in WordPress admin (mine is called AA Profile, you&#8217;ll see why in a moment!). I&#8217;m using TwentyEleven theme, so it&#8217;s easy to add it to the menu, under Appearance. Create a new menu if you&#8217;ve not done so (assigning the primary menu), and add the new page. If you have a lot of pages, prefixing the page with AA ensures it appears at the top of the list, that&#8217;s the only reason for the AA!!!!</p>
<p><img class="alignright size-full wp-image-1244" title="Screen Shot 2012-01-06 at 09.59.51" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-06-at-09.59.51.png" alt="" width="173" height="61" />Finally, visit your site, click on your &#8220;AA Profile&#8221; menu item, and your page appears with the new page template &#8211; with nothing on it. Well, there&#8217;s nothing in the template, so no surprise there&#8230;..</p>
<p>The base template for page creation is as follows:</p>
<pre class="brush:php">&lt;?php
/**
 * Template Name: WPS demo profile page
 * Description: A Profile Page Template to demonstrate using WPS classes
 *
 * @package WordPress
 * @subpackage Twenty_Eleven
 * @since Twenty Eleven 1.0
 */

get_header(); 
?&gt;
&lt;div id="primary"&gt;
 &lt;div id="content" role="main"&gt;

 &lt;/div&gt;&lt;!-- #content --&gt;
 &lt;/div&gt;&lt;!-- #primary --&gt;

&lt;?php get_sidebar(); ?&gt;
&lt;?php get_footer(); ?&gt;</pre>
<p>Woosh! Impressive, eh? No, not really. But it&#8217;s a nice clean start. This is not a full WordPress theme page creation tutorial (there are plenty out there via Google!), but in summary the comments at the top define the name of the template plus some other bits and pieces. The page header is shown (header.php) and then the primary content area is created. Finally, the sidebar is shown (sidebar.php) and the footer (footer.php).</p>
<p>If you are interesting in developing a full theme, get to Google ;)</p>
<p>Ok, so let&#8217;s now include the necessary files to start building our page template.</p>
<p><strong>Including the PHP Classes</strong></p>
<p>There are three PHP class files. The links are to the WPS Wiki website where more information can be found. This tutorial, however, will cover the various properties and methods (ooo&#8230;. fancy OOP words!) as they are needed. You won&#8217;t necessarily have to understand how they work, but trust that they do.</p>
<ul>
<li><a title="Class.wps.php" href="http://www.wpswiki.com/index.php?title=Class.wps.php">class.wps.php</a>: a PHP class for getting and setting various values for the WP Symposium system.</li>
<li><a title="Class.wps current user.php" href="http://www.wpswiki.com/index.php?title=Class.wps_user.php">class.wps_user.php</a>: a PHP class for getting and setting various values for the currently logged in user.</li>
<li><a title="Class.wps ui.php" href="http://www.wpswiki.com/index.php?title=Class.wps_ui.php">class.wps_ui.php</a>: a PHP class for displaying on screen elements with options to add CSS class names.</li>
</ul>
<p>So to include the classes in our page template, we add the following lines, right below get_header().</p>
<pre class="brush:php">require_once(ABSPATH.'wp-content/plugins/wp-symposium/class.wps_user.php');
require_once(ABSPATH.'wp-content/plugins/wp-symposium/class.wps_ui.php');</pre>
<p>We&#8217;re only including two of the three classes for now, as we only need to access methods from two of them (about the user, and displaying WPS User Interface (UI) elements).</p>
<p><strong>Important!</strong> The path may not be correct for your server &#8211; update as required to match the path that will be accurate to your own installation.</p>
<p>Let&#8217;s start by displaying some information about the current user.</p>
<p>Having included the PHP class files in your page template, you can create an instance of the wps_user class object:</p>
<pre class="brush:php">$wps_user = new wps_user();</pre>
<p>$wps_user can now be used to do lots of fun things. As you read the following, remember &#8220;get&#8221; refers to getting some information, and &#8220;set&#8221; refers to updating some information. This is typical best practice when using PHP classes.</p>
<p>For now, we are using the currently logged in user. If you had passed a user ID as a parameter when creating your instance, $wps_user would be an instance of <em>that</em> user, not the currently logged in user.</p>
<p>Pop the following in the middle of the two &lt;div&gt; &#8230; &lt;/div&gt;&#8217;s (see <em>wps_profile_page_2.php</em> to see if you&#8217;re not sure what this means.</p>
<pre class="brush:php">
 &lt;?php
 echo $wps_user-&gt;get_avatar().'&lt;br /&gt;';
 echo 'Display Name: '.$wps_user-&gt;get_display_name().'&lt;br /&gt;';
 echo 'User login: '.$wps_user-&gt;get_user_login().'&lt;br /&gt;';
 echo 'Email: '.$wps_user-&gt;get_user_email().'&lt;br /&gt;';
 echo 'City: '.$wps_user-&gt;get_city().'&lt;br /&gt;';
 echo 'Country: '.$wps_user-&gt;get_country();
?&gt;</pre>
<p><img class="alignright size-full wp-image-1242" title="Screen Shot 2012-01-06 at 09.38.59" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-06-at-09.38.59.png" alt="" width="260" height="194" />Now, this doesn&#8217;t look great, and we won&#8217;t be including user login and email in the final page, but it will test that everything is working in a nice, joined up, kind of way. This file can be found as <em>wps_profile_page_2.php</em>.</p>
<p>This won&#8217;t win awards, but if the above is functioning you have the basis to start producing your own profile page, awesome!</p>
<p>Finally, let&#8217;s layout the information we want, making it look a little nicer. Note:</p>
<ul>
<li>the parameter for get_avatar to set the size.</li>
<li>before anyone comments, I know the styles should be in a separate CSS file, but I&#8217;m trying to keep the number of files for the tutorial to a minimum! You should use ID&#8217;s and classes (that&#8217;s CSS classes) in the proper way!!</li>
<li>literal text strings are hard coded in English to keep the files as tidy as possible &#8211; you should make them translatable, eg: instead of &#8220;lives at&#8221; you should use __(&#8220;lives at&#8221;, <em>your-text-domain</em>). But that is outside the scope of this tutorial.</li>
<li>I&#8217;m not repeating &lt;?php &#8230; ?&gt;, remember all PHP codes should be within them!</li>
<li>The width I&#8217;ve set for the overal DIV fits in nicely with TwentyEleven &#8211; this is the theme within which these tutorials will be considered.</li>
<li>The design may not be the best, but I&#8217;m trying to make it different to show that the layout is totally under your control!</li>
</ul>
<p>The following is reflected in <em>wps_profile_page_3.php</em>.</p>
<pre class="brush:php">echo '&lt;div style="float: left; width:590px;"&gt;';

   echo '&lt;div style="float:right; text-align:left;"&gt;';

      if ($wps_user-&gt;get_city()) echo 'Lives at: '.$wps_user-&gt;get_city().'&lt;br /&gt;';
      if ($wps_user-&gt;get_country()) echo 'Country: '.$wps_user-&gt;get_country().'&lt;br /&gt;';

   echo '&lt;/div&gt;';

   echo '&lt;div style="float:left;padding-right:20px;"&gt;'.$wps_user-&gt;get_avatar(120).'&lt;/div&gt;';

   echo '&lt;span style="font-size:32px"&gt;'.$wps_user-&gt;get_display_name().'&lt;/span&gt;';

echo '&lt;/div&gt;';</pre>
<p>&nbsp;</p>
<p><img class="aligncenter size-full wp-image-1245" title="Screen Shot 2012-01-06 at 10.08.19" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-06-at-10.08.19.png" alt="" width="592" height="122" />Please remember, the scope of what the classes can provide will grow dramatically, they are very much work in progress. As new functionality is added, tutorials will be created to demonstrate the functionality. The tutorials, at the time of writing, reflect the current state of play!!</p>
<p><a title="Create a WPS Profile page template, part 2" href="http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-2/">Part 2</a> of this tutorial will introduce the member&#8217;s activity and allow them to add their &#8220;status&#8221; making use of the class.wps_ui.php and class.wps.php methods to display WPS elements.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/create-a-wps-profile-page-template-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>v12.01.07 release notes</title>
		<link>http://www.wpsymposium.com/2012/01/v12-01-07-release-notes/</link>
		<comments>http://www.wpsymposium.com/2012/01/v12-01-07-release-notes/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 16:03:41 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[v12.01.07]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1231</guid>
		<description><![CDATA[The next few weeks will focus on building up a set of classes that will supplement the existing functions and constants available within WP Symposium to support theme and plugin development, plus other enhancements!]]></description>
				<content:encoded><![CDATA[<p><strong>Happy New Year! Happy first release of 2012! </strong></p>
<p>As has been previously mentioned, I am going to be focussing the next few weeks on building up a set of classes that will supplement the existing functions and constants available within WP Symposium to support theme and plugin development.</p>
<p>If you don&#8217;t develop, sorry, most of this will be largely invisible to you, so I will try to include other enhancements in parallel as time allows to include in each release.</p>
<p><img class="alignright size-medium wp-image-1232" style="color: #333333; font-style: normal; line-height: 24px; border-style: initial; border-color: initial;" title="object" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/object-300x169.gif" alt="" width="300" height="169" /></p>
<p><strong>So what is a PHP class?</strong></p>
<p>If this is your first question, you probably have a little learning curve to tackle. It&#8217;s a structured way of programming (object orientated programming, or OOP) that allows code to be extended and re-used. It&#8217;s an &#8220;open&#8221; way of programming.</p>
<p><span id="more-1231"></span>To find out more about classes, Google for <a href="http://www.google.co.uk/search?sourceid=chrome&amp;ie=UTF-8&amp;q=php+class+tutorial" target="_blank">PHP class tutorial</a>, you&#8217;ll find loads of resources.WP Symposium has largely been &#8220;closed&#8221; as the code can&#8217;t really be shared around in a cuddly warm way. Okay, there are functions and constants, but there are better ways to do it, including as a set of classes.</p>
<p>If you have a fair idea of what a PHP class is, your first stop should be the Codex on the <a href="http://www.wpswiki.com/index.php?title=Developers#Classes" target="_blank">WPS Wiki</a>.</p>
<p>Initially, three classes will be provided (as described on the WPS Wiki), and these will no doubt grow like crazy as either I realise what&#8217;s missing; or as I&#8217;m told! So for starters:</p>
<ul>
<li><a title="Class.wps.php" href="http://www.wpswiki.com/index.php?title=Class.wps.php">class.wps.php</a>: a PHP class for getting and setting various values for the WP Symposium system.</li>
<li><a title="Class.wps current user.php" href="http://www.wpswiki.com/index.php?title=Class.wps_current_user.php">class.wps_current_user.php</a>: a PHP class for getting and setting various values for the currently logged in user.</li>
<li><a title="Class.wps ui.php" href="http://www.wpswiki.com/index.php?title=Class.wps_ui.php">class.wps_ui.php</a>: a PHP class for displaying on screen elements with options to add CSS class names.</li>
</ul>
<p>As a say, but just to re-emphasize, these are just the beginning, and they <span style="text-decoration: underline;">will</span> grow!</p>
<p>Before too long, and when the classes are suitable, I will produce a demonstration theme page (or a few pages) to show how you can then start creating your own WPS pages (and therefore, the layout will be down to your own imagination).</p>
<p>What else is in this release?</p>
<p><strong>Mobile Plugin</strong></p>
<p>Whilst I have your attention, please remember that after updating your WPS mobile plugin, if you make use of it, copy all the files from the WPS mobile plugin folder to the folder in which your mobile &#8220;version&#8221; resides (/m is the suggested folder).</p>
<p>Access of the forum now honors the security you have set up in WPS-&gt;Forum settings.</p>
<p>New forum topics are also now added to member&#8217;s activity pages.</p>
<p><strong>Mail and Forum email notifications</strong></p>
<p>You can now set the subject line of email notifications of new mail messages, and new forum topics/replies. Do so on WPS-&gt;Settings.</p>
<p>Note that for the &#8220;New Mail Message&#8221; subject, you can also include [subject] that will be replaced with the subject of the mail message received within WPS.</p>
<p><strong><a href="http://www.wpsymposium.com/wp-content/uploads/2012/01/email.gif"><img class="alignright size-medium wp-image-1233" title="email" src="http://www.wpsymposium.com/wp-content/uploads/2012/01/email-231x300.gif" alt="" width="231" height="300" /></a>Mail</strong></p>
<p>For some time now, not being able to show only unread mail messages on the mail page has annoyed me, so no more &#8211; you can toggle between all mail and just unread mail.</p>
<p>To add this feature you should reset the &#8221;Mail Page&#8221; template (via WPS-&gt;Templates) &#8211; or manually add [unread] into the template if you&#8217;ve modified it previously.</p>
<p><strong>Forum</strong></p>
<p>Some site admin&#8217;s prefer the page to reload after posting a reply &#8211; you can now choose whether to or not via WPS-&gt;Forum settings. The option is called &#8220;Refresh forum after reply&#8221;.</p>
<p><strong>And finally&#8230; Release Notes</strong></p>
<p>Release Notes are now available via your admin screen as a menu item (WPS-&gt;Release Notes), along with quick links to other WPS Blog posts. Note that you will need internet access, so any local development offline will mean the content is unavailable.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2012/01/v12-01-07-release-notes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Happy New Year!</title>
		<link>http://www.wpsymposium.com/2011/12/happy-new-year/</link>
		<comments>http://www.wpsymposium.com/2011/12/happy-new-year/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 12:24:42 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[11.12.31]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1226</guid>
		<description><![CDATA[I hope you have all had a great Christmas break, you are enjoying the festivities and will have an awesome new year! I will not be putting out a release this Saturday (31st December) as there are not enough changes to warrant it (for you and me!). So, enjoy the transition from 2011 to 2012 [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignright size-medium wp-image-1227" title="Happy New Year!" src="http://www.wpsymposium.com/wp-content/uploads/2011/12/happy-new-year-300x196.jpg" alt="" width="300" height="196" />I hope you have all had a great Christmas break, you are enjoying the festivities and will have an awesome new year!</p>
<p>I will not be putting out a release this Saturday (31st December) as there are not enough changes to warrant it (for you and me!).</p>
<p>So, enjoy the transition from 2011 to 2012 &#8211; see you next year!!</p>
<p><em>Simon</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2011/12/happy-new-year/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>v11.12.24 release notes</title>
		<link>http://www.wpsymposium.com/2011/12/v11-12-24-release-notes/</link>
		<comments>http://www.wpsymposium.com/2011/12/v11-12-24-release-notes/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 09:15:46 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[11.12.24]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1216</guid>
		<description><![CDATA[Iiiiiitt&#8217;sss Kkkkeeeerrrrriiissssstttttt Mmmmaaasssssss!!!!!! (Wait for Noddy Holder to shout it out on YouTube if you think I&#8217;ve gone mad&#8230;) This is a small patch release picking up a few things that were identified and solved in an expert manner in my absence. Thank you to all those who haved helped out with support to other users on [...]]]></description>
				<content:encoded><![CDATA[<p><em><strong>Iiiiiitt&#8217;sss Kkkkeeeerrrrriiissssstttttt Mmmmaaasssssss!!!!!!</strong></em></p>
<p>(Wait for Noddy Holder to shout it out on <a href="http://www.youtube.com/watch?v=0A8KT365wlA" target="_blank">YouTube</a> if you think I&#8217;ve gone mad&#8230;)</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2011/12/santa-claus-01.jpg"><img class="alignright  wp-image-1221" title="santa-claus-01" src="http://www.wpsymposium.com/wp-content/uploads/2011/12/santa-claus-01.jpg" alt="" width="315" height="204" /></a>This is a small patch release picking up a few things that were identified and solved in an expert manner in my absence.</p>
<p>Thank you to all those who haved helped out with support to other users on the forums both recently and throughout 2011.  I love the WPS community and I don my hat to you all, thank you!</p>
<p>So, this release applies the following:</p>
<p><strong>Translation Strings</strong></p>
<p>Thanks to AlphaGolf for providing a vast number of translation strings, particularly in the backend.</p>
<p><span id="more-1216"></span><strong>Mail box list</strong></p>
<p>Solved the problem of the mailbox list not rendering correctly and stopping the ability to click on older messages.</p>
<p><strong>Profile Avatars</strong></p>
<p>Thanks to Chaitanya Sharma of Secunia Research who helped analysis potential security holes in the upload script, these have been addressed. Also, members can now upload a photo and click on OK without selecting an area, and the whole uploaded image is used. Finally, uppercase file extensions are no longer a problem.</p>
<p><strong>Extra check for missing wp_footer() function</strong></p>
<p>WPS assumes a site&#8217;s theme has a wp_footer() hook in footer.php (or elsewhere). This is good (essential!) practice, but not all theme developers remember to include it. An additional check has been added to avoid an error if this is the case.</p>
<p><strong>And finally&#8230;..</strong></p>
<p>I will try and keep in touch over the festive period, in particular with the helpdesk tickets, but this is a time for family and friends, good food and the odd tipple of sherry. Not forgetting the bizarrely suitable Snowballs at Christmas (why does it feel wrong to drink them during the year?).</p>
<p>So I hope you have enjoyed this year with WP Symposium &#8211; the new year will be particularly exciting with objects and functions galore to let developers create &#8220;WPS friendly&#8221; theme and plugins. This will include documentation on the WPS Wiki.</p>
<p>Have a great time, enjoy the Christmas period whether you happen to celebrate it or not, and I will see you in 2012!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2011/12/v11-12-24-release-notes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>v11.12.08</title>
		<link>http://www.wpsymposium.com/2011/12/v11-12-08/</link>
		<comments>http://www.wpsymposium.com/2011/12/v11-12-08/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 16:43:51 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[Activity]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Followers]]></category>
		<category><![CDATA[Summary]]></category>
		<category><![CDATA[TinyMCE]]></category>
		<category><![CDATA[v11.12.08]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1194</guid>
		<description><![CDATA[Addresses some minor issues, adds a couple of "nice things" and a security patch prior to me going on holiday.]]></description>
				<content:encoded><![CDATA[<h1>Release notes for 8th December release.</h1>
<p><img class="alignright size-full wp-image-1198" title="Skiing_cartoon" src="http://www.wpsymposium.com/wp-content/uploads/2011/12/Skiing_cartoon.jpg" alt="" width="200" height="250" />This is not a full release, but addresses some minor issues, plus a security patch, prior to me going on holiday for a week (and as that spans two Saturday&#8217;s this makes up for missing two formal release dates).</p>
<p><strong>Upgrade TinyMCE to latest version</strong></p>
<p>This addresses some IE9 incompatibilities.</p>
<p><span id="more-1194"></span></p>
<p><strong>Followers list</strong></p>
<p>Last active date/time now per member (was showing one for all).</p>
<p><strong>Add Site Name to From email </strong></p>
<p>WPS sent emails now come from your Site Name (as per WordPress Settings)</p>
<p><strong>Add style for current profile page menu</strong></p>
<p>You can alter this in Styles-&gt;CSS by entering the following:</p>
<pre>.symposium-wrapper .symposium_profile_current {
     background-color: yellow;
     font-weight: normal;
}</pre>
<p>Obviously change the style to one you like. By default bold is added, so if you don&#8217;t want bold, include font-weight: normal; as above.</p>
<p><strong><img class="alignright size-medium wp-image-1202" title="Screen Shot 2011-12-07 at 17.11.34" src="http://www.wpsymposium.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-07-at-17.11.34-216x300.png" alt="" width="216" height="300" />Add Activity Stream shortcode</strong></p>
<p>Show&#8217;s the all activity shown on a members profile page on any WordPress page. See <a title="Activity Stream" href="http://www.wpsymposium.com/activity-stream/">the demo page</a> on WPS for more information.</p>
<p><strong>Add ID&#8217;s to the Summary Widget list items</strong></p>
<p>This was a specific request. Use Firefox + Firebug to see what the ID&#8217;s are if you would like to make use of them!</p>
<p><strong>Security Patch</strong></p>
<p>Many thanks to Secunia Research who, as part of a security review of WP Symposium, identified a potential security hole. This was as part of the upload avatar function. Therefore, the admin upload feature has been removed (it was superfluous) and the member avatar upload has been enhanced to ensure that an image is uploaded (and nothing else). Again, my thanks for the co-operative manner in which they shared the issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2011/12/v11-12-08/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>v11.12.03 Release Notes</title>
		<link>http://www.wpsymposium.com/2011/12/v11-12-03-release-notes/</link>
		<comments>http://www.wpsymposium.com/2011/12/v11-12-03-release-notes/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 15:15:28 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[11.12.03 happy birthday]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1168</guid>
		<description><![CDATA[WP Symposium is 1 year old! A massive hug to all users of WPS, you know who you are, please imagine yourself at a WPS party, you are invited and are truly welcome! You guys rock!!!]]></description>
				<content:encoded><![CDATA[<h1>WP Symposium is 1 Year old!!!</h1>
<p><img class="alignright size-medium wp-image-1169" title="Geek_Party" src="http://www.wpsymposium.com/wp-content/uploads/2011/12/Geek_Party-300x199.jpg" alt="" width="300" height="199" />First, and foremost, a massive hug to all the users of WPS, you know who you are, please imagine yourself at a big WPS party, you are invited and are truly welcome!</p>
<p>Maybe this time next year it will be a real party somewhere, with real beer! And tea, of course&#8230;</p>
<p>You guys rock!!!</p>
<p><strong>An improved postal system</strong></p>
<p>Well, maybe not, but in terms of WP Symposium new forum posts no longer wait for the postal service (ie. email server) to send out all the email notifications, speeding it up no end. You may have noticed it on the WPS website.</p>
<p><span id="more-1168"></span></p>
<p>If you have a lot of members, all asking for email notification of new topics, you will spot the difference. If you&#8217;re into geek things, it is, as they say, now asynchronous&#8230;</p>
<p><strong><img class="alignleft size-thumbnail wp-image-1079" title="Please no broken legs...." src="http://www.wpsymposium.com/wp-content/uploads/2011/11/030-downhill-skiing-150x150.png" alt="" width="150" height="150" />Quieter week due to holiday<br />
(and December release schedule)</strong></p>
<p>As mentioned, I&#8217;m on leave from 10th Dec &#8211; 18th Dec, so that will effect the release schedule, and I don&#8217;t want to launch any massive changes now that I won&#8217;t have time to fix. Also, if you join as a Silver member I may not be able to add you to the helpdesk until I&#8217;m back, or answer helpdesk tickets during that time. Sorry! :(</p>
<p>However, as usual, there are some new features being added this week&#8230;</p>
<p><strong>Option to show/hide avatar on summary widget</strong></p>
<p>If you&#8217;re using other widgets that display the current user&#8217;s avatar, it can be a bit &#8220;avatar heavy&#8221; with this switch on, turn it off in the summary widget options.</p>
<p><strong>Option to hide stars on new forum topics</strong></p>
<p>If you don&#8217;t like it, or it doesn&#8217;t fit with your theme, you can now turn them off.</p>
<p>As usual, full details of release on <a href="https://wpsymposium-trac.sourcerepo.com/wpsymposium_trac/query?group=status&amp;milestone=11.12.03" target="_blank">WPS Trac</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2011/12/v11-12-03-release-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Set width of forum topic subject input box</title>
		<link>http://www.wpsymposium.com/2011/11/set-width-of-forum-topic-subject-input-box/</link>
		<comments>http://www.wpsymposium.com/2011/11/set-width-of-forum-topic-subject-input-box/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 10:55:38 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[subject]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1105</guid>
		<description><![CDATA[If you&#8217;re using the new WYSIWYG editor, you can set the width of the editor&#8230; nice&#8230; However, if the look of your site is important (and why shouldn&#8217;t it be?) then you would probably like to set the width of the topic subject input box to match, like on the WPS site, for example: To [...]]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;re using the new WYSIWYG editor, you can set the width of the editor&#8230; nice&#8230;</p>
<p>However, if the look of your site is important (and why shouldn&#8217;t it be?) then you would probably like to set the width of the topic subject input box to match, like on the WPS site, for example:</p>
<p><a href="http://www.wpsymposium.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-29-at-10.56.29.png"><img class="aligncenter size-full wp-image-1106" title="Set the width of the topic subject input box" src="http://www.wpsymposium.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-29-at-10.56.29.png" alt="" width="587" height="185" /></a>To set the width of the subject input box, on the admin dashboard, go to Symposium-&gt;Styles and select the CSS tab, and enter the following:</p>
<pre>.new-topic-subject-input { width: 555px !important; }</pre>
<p>Change 555px to your desired width.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2011/11/set-width-of-forum-topic-subject-input-box/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>v11.11.26 Release Notes</title>
		<link>http://www.wpsymposium.com/2011/11/v11-11-26-release-notes/</link>
		<comments>http://www.wpsymposium.com/2011/11/v11-11-26-release-notes/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 12:16:40 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[11.11.26 tinymce editor forums]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1086</guid>
		<description><![CDATA[Add a WYSIWYG editor to your forum! Choose the toolbar icons, minimal or full? Your choice!]]></description>
				<content:encoded><![CDATA[<h1>Change to language file locations</h1>
<p><img class="alignright size-medium wp-image-1088" title="translation" src="http://www.wpsymposium.com/wp-content/uploads/2011/11/translation-300x225.jpg" alt="" width="300" height="225" />Okay, not as sexy but important!</p>
<p>From v11.11.26 if you are using .mo language files (see <a title="Languages" href="http://www.wpsymposium.com/languages/">here</a> for more info), you should save the .mo files into your plugins folder, probably in /wp-content/plugins, although you may have moved your wp-content folder somewhere special on your server.</p>
<p>Why? So that upgrading WPS doesn&#8217;t impact on the language files. Some admin&#8217;s find they have to re-upload the .mo files after each upgrade, and with weekly upgrades this can be a pain.</p>
<h1>WYSIWYG editor</h1>
<p>Okay, what a lot of users have been waiting for &#8211; a WYSIWYG editor with a toolbar full of icons. Or maybe a few if you prefer the minimal look.</p>
<p><img class="aligncenter size-full wp-image-1095" title="Screen Shot 2011-11-25 at 12.26.23" src="http://www.wpsymposium.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-25-at-12.26.23.png" alt="" width="572" height="278" /></p>
<p>First, to be clear, this is a Bronze/Silver member feature. Really sorry, I know this will disappoint many free users, but WPS has to be funded somehow. Hopefully, $39 a year for all the extras will still be considered value for money.</p>
<p><span id="more-1086"></span><strong>Configuring the editor</strong></p>
<p>Once you have upgraded, as a Bronze member, ensure you have at least one Bronze plugin activated. You don&#8217;t need to actually use it, so for example, activate Alerts and if you don&#8217;t want Alerts just done use it. This &#8220;tells&#8221; WPS that you have bronze/silver membership. You will then have, on your forum settings page, a checkbox to enable the WYSIWYG editor. You may recognise it, it&#8217;s TinyMCE.</p>
<p><img class="aligncenter size-full wp-image-1089" title="Screen Shot 2011-11-25 at 11.56.10" src="http://www.wpsymposium.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-25-at-11.56.10.png" alt="" width="580" height="29" />Once you&#8217;ve checked it, and saved, you will have a further set of options as follows.</p>
<p><strong>Editor Toolbars</strong></p>
<p>You can have up to four rows of toolbar buttons, depending on how you want to set up your editor. On the WPS site, for example, only the first row is used to keep it fairly minimal.</p>
<p>For each row you list, separated by commas, the buttons that you want to appear. If you want a gap, put in a horizontal bar.</p>
<p>So as an example, the WPS top row of buttons has the following:</p>
<p><img class="aligncenter size-full wp-image-1091" title="Screen Shot 2011-11-25 at 11.59.08" src="http://www.wpsymposium.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-25-at-11.59.08.png" alt="" width="594" height="104" />Note the links that allow you to reset the toolbars to minimal or full. Also a link to a list of all the <a href="http://www.tinymce.com/wiki.php/Buttons/controls" target="_blank">buttons and controls</a> that you can add.</p>
<p>To avoid showing a toolbar row, simply clear the contents.</p>
<p><strong>Editor CSS</strong></p>
<p>You can change the style of the editor &#8211; by default it will link to a stylesheet for WP Symposium. But if you want red text on a green background, change the path to your own stylesheet. Don&#8217;t make changes in the existing file as it will be over-written every time WPS is updated.</p>
<p>Be sure to clear your cache after changing your stylesheet to see the changes.</p>
<p><strong>Skin Folder</strong></p>
<p>TinyMCE, as an editor, can be &#8220;skinned&#8221; to show different toolbar icons. WP Symposium includes three: default, cirkuit and o2k7. I personally like cirkuit best so that&#8217;s what the default value is, as opposed to TinyMCE&#8217;s &#8220;default&#8221; skin.</p>
<p>If you make your own skins, or find others that you like, you put them into the /wp-content/plugins/wp-symposium/tiny_mce/themes/advanced/skins folder and put the folder name in this field.</p>
<p><strong>Width and Height</strong></p>
<p>Simply sets the width and height of the editor.</p>
<h1>Full set of bug fixes and enhancements</h1>
<p>Can be seen on <a href="https://wpsymposium-trac.sourcerepo.com/wpsymposium_trac/query?group=status&amp;milestone=11.11.26" target="_blank">Trac</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2011/11/v11-11-26-release-notes/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Holiday Notice 10th-18th Dec</title>
		<link>http://www.wpsymposium.com/2011/11/holiday-notice/</link>
		<comments>http://www.wpsymposium.com/2011/11/holiday-notice/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 09:20:18 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[holiday]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1078</guid>
		<description><![CDATA[From the 10th to the 18th December I will be falling down a mountain somewhere in France trying not to break my legs whilst attempting to try and ski. During that time I won’t be able to check in to the forum or respond to helpdesk tickets as I try not to look too silly [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-1079" title="Please no broken legs...." src="http://www.wpsymposium.com/wp-content/uploads/2011/11/030-downhill-skiing.png" alt="" width="250" height="233" />From the 10th to the 18th December I will be falling down a mountain somewhere in France trying not to break my legs whilst attempting to try and ski. During that time I won’t be able to check in to the forum or respond to helpdesk tickets as I try not to look too silly on the slopes.</p>
<p>For that reason after the v11.11.26 release I won’t introduce any changes until I return. I will instead being focussing on bug fixes and support issues.</p>
<p>Therefore, there will be two more releases before I&#8217;m away:</p>
<ul>
<li>11.11.26 that includes the WYSIWYG editor for Bronze members, and bug fixes</li>
<li>11.12.03 to include any bug fixes</li>
</ul>
<div>Of course, if anything urgent comes up I will put out a patch release.</div>
<div>I don&#8217;t want to add anything significant on the 3rd December in case any problems are introduced that I don&#8217;t have time to resolve.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2011/11/holiday-notice/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>v11.11.19 Release Notes</title>
		<link>http://www.wpsymposium.com/2011/11/v11-11-19-release-notes/</link>
		<comments>http://www.wpsymposium.com/2011/11/v11-11-19-release-notes/#comments</comments>
		<pubDate>Fri, 18 Nov 2011 14:55:28 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[11.11.19 forum access roles]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1059</guid>
		<description><![CDATA[Set forum access by WordPress roles - a great way to add private forum categories for particular members. Supports all roles, such as those included in member plugins.]]></description>
				<content:encoded><![CDATA[<h1>Forum Access by Roles</h1>
<p><img class="alignright size-full wp-image-1061" title="noaccess" src="http://www.wpsymposium.com/wp-content/uploads/2011/11/noaccess.png" alt="" width="235" height="235" /></p>
<p>Forums are great &#8211; but until now WP Symposium forums were all or nothing (not including the ability to have a private group forum).</p>
<p>This version introduces the ability to set forum category access levels by role &#8211; WordPress roles that is, eg. subscriber, author, administrator, etc.</p>
<p>But because it&#8217;s role based, other plugins that create roles, can link in.</p>
<p>For example, on the WPS site I have a &#8220;bronze&#8221; role for all bronze and silver members, so that they now have access to a private forum category just for them. The &#8220;bronze&#8221; role is used by <a href="http://www.yourmembers.co.uk/" target="_blank">YourMembers</a> (the subscription plugin I used) to mark all subscribers.</p>
<p><span id="more-1059"></span>I used a plugin call <a href="http://wordpress.org/extend/plugins/capsman/" target="_blank">Capability Manager</a> to add the new role as a copy of the subscriber role.</p>
<p>After upgrading, go to your Forum Categories admin page to check that your role access levels are what you want.</p>
<h1>Gallery shortcode</h1>
<p>You can now add a searchable gallery on a WordPress page with the shortcode <strong>symposium-gallery</strong>.</p>
<p>This provides a way of seeing all your members galleries (if they have set the appropriate permissions).</p>
<p>It also lets members search for other members galleries, or the photo album titles.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2011/11/v11-11-19-release-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>v11.11.12 release notes</title>
		<link>http://www.wpsymposium.com/2011/11/v11-11-12-release-notes/</link>
		<comments>http://www.wpsymposium.com/2011/11/v11-11-12-release-notes/#comments</comments>
		<pubDate>Sat, 12 Nov 2011 18:19:18 +0000</pubDate>
		<dc:creator>Simon Goodchild</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Releases]]></category>
		<category><![CDATA[11.11.12 distance groups]]></category>

		<guid isPermaLink="false">http://www.wpsymposium.com/?p=1015</guid>
		<description><![CDATA[See more via Profile Plus, distance between members (get geo-coded!!) and getting other member's attention gets a boost...]]></description>
				<content:encoded><![CDATA[<h2>Profile Plus gets a bit more&#8230;</h2>
<p><img class="alignright size-full wp-image-1016" title="Screen Shot 2011-11-12 at 18.09.26" src="http://www.wpsymposium.com/wp-content/uploads/2011/11/Screen-Shot-2011-11-12-at-18.09.26.png" alt="" width="235" height="318" /><br />
Try hovering over the little avatar in the Profile Plus and you get to zoom in.</p>
<p>Works best with avatars uploaded on your site, not so with the gravatar images.</p>
<p>Otherwise, profile plus works as before with convenient input for text and icons for other features.</p>
<p>Don&#8217;t forget, the content of the Profile Plus hover box changes for your avatar, your friends avatars and others.</p>
<p><span id="more-1015"></span><span class="Apple-style-span" style="color: #000000; font-weight: bold;">Distance</span></p>
<p>Re-save your personal information (on your profile page) &#8211; or for the first time on new WPS sites &#8211; and you&#8217;ll be &#8220;geo-coded&#8221;!!</p>
<p>Don&#8217;t worry, it&#8217;s nothing rude, it&#8217;s just an X/Y co-ordinate of where you are in the world. And if two members have both been &#8220;geo-coded&#8221; the distance between them (ie. you and the other members) will be shown on the member directory.</p>
<h2>Deleting Groups</h2>
<p>It was a bit too easy to delete groups, so now the group is a request to the site administrator, who has the &#8220;power&#8221; to delete the group. Also adds a level of security &#8211; imagine you walk away from your keyboard and someone deletes all your groups &#8211; argh!!</p>
<h2>&#8220;Poke&#8221;s &#8482; appear on activity streams</h2>
<p><img class="alignright size-full wp-image-1018" title="private" src="http://www.wpsymposium.com/wp-content/uploads/2011/11/private.jpg" alt="" width="220" height="240" /></p>
<p>Send somebody a &#8220;Poke&#8221; &#8482; and it appears on the recipients activity as well as an email.</p>
<p>Importantly,  it&#8217;s private between the two of you and doesn&#8217;t appear on friends activity feeds.</p>
<p>It&#8217;s a nice way to hold a conversation on your profile page.</p>
<p>&nbsp;</p>
<h2>More? Yes&#8230;</h2>
<p>See the full list on the Release Forum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.wpsymposium.com/2011/11/v11-11-12-release-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
