MePage Overview

by Luke Simpson, Justin Bodeutsch | Last edited: 10/25/2016

To install member pages (me pages) on a site, only one template is needed mcms_me.php. Every view of the me page is handled by that one template.

Permissions

You can set the default permissions for me page users under the backend site settings.  Be aware that any changes made to the default settings would only affect new users added after that point. To change existing user's setting they would need to do that from their me page settings page on the site.

Me Menu

Once the user has logged in they will need to see some options to manager their account and add content. This is done with the me menu.The following getContent will create a typical menu.

<?
  getContent(
    "member",
    "display:summary",
    "findid:" . $#,
    "restrict:yes",
    "show:<p><a href="__profileurl__"><img src="__picthumburl__" width="64" /></a></p>",
    "show:<h3><a href="__profileurl__">__fullname__</a></h3>",
    "show:<ul>",
    "show:<li><a href="__editprofileurl__" title="Edit Profile" class="thickbox">Edit Profile</a></li>",
    "show:<li><a href="__messagesurl__">View Messages</a>",
    "show: (__newmessagecount__ new)",
    "show:</li>",
    "show:<li><a href="__blogurl__">View Blog</a></li>",
    "show:<li><a href="__friendsurl__">View Friends</a>",
    "show: (<a href="__friendrequestsurl__">__friendrequestscount__ pending</a>)",
    "show:<li><a href="__galleriesurl__">View Galleries</a>",
    "show:</li>",
    "show:</ul>",
    "nocache"
  );
?>

Member Directory

If you want members to be able to search for other members you will need to create a search form or link to the full member directory.

<?
  getContent(
    "member",
    "display:search",
    "restrict:yes",
    "show:__formopen__",
    "show:__searchfield__",
    "show: __submitbutton__",
    "show:<br />or <a href="__directoryurl__">browse member directory</a>",
    "show:__formclose__",
    "nocache"
  );
?>

In addition, you will need create a mcms_directory.php file (do not need to add via the Template Manager) to display the directory & search results.

<?
if ($_GET['view'] == "directory") {
    getContent(
    "member",
    "display:directory",
    "restrict:yes",
    "letter:" . $_GET['letter'],
    "nav:<div id="letter-directory">__alphabet__</div>",
    "show:<div class="person clearfix">",
    "show:<p>",
    "show:<a href="__profileurl__" class="avatar"><img src="__picthumburl__" /></a>",
    "show:<a href="__profileurl__">__fullname__</a>",
    "show:</p>",
    "show:</div>",
    "nocache"
    );
}
else if ($_GET['view'] == "searchresults") {
    getContent(
    "member",
    "display:searchresults",
    "restrict:yes",
    "criteria:" . $_GET['criteria'],
    "search:" . $_GET['keywords'],
    "show:<div class="person clearfix">",
    "show:<p>",
    "show:<a href="__profileurl__" class="avatar"><img src="__picthumburl__" /></a>",
    "show:<a href="__profileurl__">__fullname__</a>",
    "show:</p>",
    "show:</div>",
    "nocache"
    );
}
?>

Default Display

When someone lands on a member's me page, there should be a default set of data that we display about the member like the name and image.

if (strcasecmp($#, $#)) {
  getContent(
      "member",
      "display:summary",
      "find:" . $#,
      "restrict:yes",
      "show:<div id="user-profile">",
      "show:<a href="__profileurl__"><img src="__picthumburl__" width="100" /></a>",
      "show:<h4><a href="__profileurl__">__fullname__</a></h4>",
      "show:<ul>",
      "show:<li><a href="__sendmessageurl__">Send Message</a></li>",
      "show:<li><a href="__blogurl__">View Blog</a></li>",
      "show:<li><a href="__friendsurl__">View Friends</a></li>",
      "show:<li><a href="__galleriesurl__">View Galleries</a>",
      "show:<li><a href="__requestfriendurl__">Request as a Friend</a></li>",
      "show:<li><a href="__removefriendurl__">Remove as Friend</a></li>",
      "show:</ul>",
      "show:</div>",
      "nocache"
  );
}

Member Content

For each type of content (blogs, galleries, etc) a separate getContent is needed.

Before the getContents, we need to set a list of system messages and display them when needed.

  $SYSMESSAGES = array( 1  => 'Message sent',
                        2  => 'Message deleted',
                        3  => 'Friend requested',
                        4  => 'Friend removed',
                        5  => 'Friend approved',
                        6  => 'Friend denied',
                        7  => 'Blog post added',
                        8  => 'Blog post edited',
                        9  => 'Blog post deleted',
                        10 => 'Profile updated',
                        11 => 'Password mismatch',
                        12 => 'Address not found',
                        13 => 'Gallery added',
                        14 => 'Gallery edited',
                        15 => 'Gallery deleted',
                        16 => 'Gallery image added',
                        17 => 'Gallery image edited',
                        18 => 'Gallery image deleted',
                        19 => 'Gallery image moved up',
                        20 => 'Gallery image moved down',
                        21 => 'Gallery limit reached',
                        22 => 'Gallery image limit reached'
  );

  if ($sysMessageID = $_GET['sysmsgid']) {
    print "<p><strong>$SYSMESSAGES[$sysMessageID]</strong></p>";
  }
Then the list of getCotents with default display at the end:

if ($_GET['view'] == "messages") {

  echo "<h4>Messages</h4>";

  getContent(
      "member",
      "display:messages",
      "restrict:yes",
      "show:<div class="message">",
      "show:<a href="__profileurl__"><img src="__picthumburl__" width="100" /></a>",
      "show:<p><a href="__profileurl__">__fullname__</a></p>",
      "show:<p>__message__</p>",
      "show:<p class="breadcrumb">",
      "show:__date format='F j, Y g:i a'__",
      "show: | <a href="__replyurl__">Reply</a> | <a href="__deleteurl__">Delete</a>",
      "show:</p>",
      "show:</div>",
      "noshow:<p>You have no messages.</p>",
      "nocache"
    );
  }
  else if ($_GET['view'] == "sendmessage") {
    getContent(
      "member",
      "display:sendmessage",
      "replyid:" . $_GET['id'],
      "restrict:yes",
      "show:__formopen__",
      "show:<label for="sendMessage">Message:</label>",
      "show:__messagefield__",
      "show:<p class="submitButton">__submitbutton__ or <a href="#" onclick="history.go(-1)">cancel</a></p>",
      "show:__formclose__",
      "nocache"
    );
}
else if ($_GET['view'] == "deletemessage") {
    getContent(
      "member",
      "display:deletemessage",
      "findid:" . $_GET['id'],
      "restrict:yes",
      "show:<p>Are you sure you want to delete this message?</p>",
      "show:__formopen__",
      "show:<p class="submitButton">__submitbutton__ or <a href="#" onclick="history.go(-1)">cancel</a></p>",
      "show:__formclose__",
      "nocache"
    );
}
else if ($_GET['view'] == "blog") {
    getContent(
      "member",
      "display:blog",
      "restrict:yes",
      "nav:<h4>{$}&#8217;s Blog</h4>",
      "nav:<p><a href="__newblogposturl__">Add a new blog post</a></p>",
      "show:<div class="blogpost">",
      "show:<h4><a href="__url__">__title__</a></h4>",
      "show:<p>__message__</p>",
      "show:<p class="breadcrumb">",
      "show:__date format='F j, Y g:i a'__ | <a href="__url__#comments">__commentNumberonly__ Comments</a>",
      "show: | <a href="__editurl__">Edit</a> | <a href="__deleteurl__">Delete</a>",
      "show:</p>",
      "show:</div>",
      "noshow:<p>No blog posts.</p>",
      "nocache"
    );
}
else if ($_GET['view'] == "blogpost") {
    getContent(
      "member",
      "display:blogpost",
      "find:" . $_GET['blogpost'],
      "restrict:yes",
      //"nav:<h4>{$}&#8217;s Blog</h4>",
      "nav:<p class="breadcrumb"><a href="__blogurl__">Return to blog</a></p>",
      "show:<h4>__title__</h4>",
      "show:<p>__message__</p>",
      "show:<p class="breadcrumb">",
      "show:__date format='F j, Y g:i a'__ | __commentNumberonly__ Comments",
      "show: | <a href="__editurl__">Edit</a> | <a href="__deleteurl__">Delete</a>",
      "show:</p>",
      "show:<div id="comments">__commentList__</div>",
      "nocache"
    );
}
else if ($_GET['view'] == "newblogpost") {
    getContent(
      "member",
      "display:newblogpost",
      "restrict:yes",
      "nav:<h4>{$}&#8217;s Blog</h4>",
      "nav:<p><a href="__blogurl__">Return to blog</a></p>",
      "show:__formopen__",
      "show:<label for="blogTitle">Title:</label>",
      "show:__titlefield__",
      "show:<label for="blogMessage">Message:</label>",
      "show:__messagefield__",
      "show:<p class="submitButton">__submitbutton__ or <a href="#" onclick="history.go(-1)">cancel</a></p>",
      "show:__formclose__",
      "nocache"
    );
}
else if ($_GET['view'] == "editblogpost") {
    getContent(
      "member",
      "display:editblogpost",
      "find:" . $_GET['blogpost'],
      "restrict:yes",
      "nav:<h4>{$}&#8217;s Blog</h4>",
      "nav:<p><a href="__blogurl__">Return to blog</a> | <a href="__blogposturl__">Return to blog post</a></p>",
      "show:__formopen__",
      "show:<label for="blogTitle">Title:</label>",
      "show:__titlefield__",
      "show:<label for="blogMessage">Message:</label>",
      "show:__messagefield__",
      "show:<p class="submitButton">__submitbutton__ or <a href="#" onclick="history.go(-1)">cancel</a></p>",
      "show:__formclose__",
      "nocache"
    );
}
else if ($_GET['view'] == "deleteblogpost") {
    getContent(
      "member",
      "display:deleteblogpost",
      "find:" . $_GET['blogpost'],
      "restrict:yes",
      "nav:<h4>{$}&#8217;s Blog</h4>",
      "nav:<p><a href="__blogurl__">Return to blog</a> | <a href="__blogposturl__">Return to blog post</a></p>",
      "show:<p>Are you sure you want to delete this blogpost?</p>",
      "show:__formopen__",
      "show:<p class="submitButton">__submitbutton__ or <a href="#" onclick="history.go(-1)">cancel</a></p>",
      "show:__formclose__",
      "nocache"
    );
}
else if ($_GET['view'] == "friends") {
    getContent(
      "member",
      "display:friends",
      "restrict:yes",
      "nav:<h4>{$}&#8217;s Friends</h4>",
      "nav:<p><a href="__friendrequestsurl__">__friendrequestscount__ new request</a></p>",
      "show:<div class="person">",
      "show:<p>",
      "show:<a href="__profileurl__"><img src="__picthumburl__" width="100" /></a>",
      "show:<a href="__profileurl__">__fullname__</a>",
      "show:</p>",
      "show:</div>",
      "noshow:<p>{$} has no friends.</p>",
      "nocache"
    );
}
else if ($_GET['view'] == "friendrequests") {
    getContent(
      "member",
      "display:friendrequests",
      "restrict:yes",
      "nav:<h4>{$}&#8217;s Friends</h4>",
      "show:<p>",
      "show:<a href="__profileurl__"><img src="__picthumburl__" width="100" /></a>",
      "show:<br /><a href="__profileurl__">__fullname__</a>",
      "show:<br />__message__",
      "show:<br /><a href="__approveurl__">Approve</a> | <a href="__denyurl__">Deny</a>",
      "show:</p>",
      "nocache"
    );
}
else if ($_GET['view'] == "requestfriend") {
    getContent(
      "member",
      "display:requestfriend",
      "restrict:yes",
      "nav:<h4>{$}&#8217;s Friends</h4>",
      "show:__formopen__",
      "show:<label for="sendMessage">Message:</label>",
      "show:__messagefield__",
      "show:<p class="submitButton">__submitbutton__ or <a href="#" onclick="history.go(-1)">cancel</a></p>",
      "show:__formclose__",
      "nocache"
    );
}
else if ($_GET['view'] == "removefriend") {
    getContent(
      "member",
      "display:removefriend",
      "restrict:yes",
      "nav:<h4>{$}&#8217;s Friends</h4>",
      "show:<p>Are you sure you want to remove this friend?</p>",
      "show:__formopen__",
      "show:<p class="submitButton">__submitbutton__ or <a href="#" onclick="history.go(-1)">cancel</a></p>",
      "show:__formclose__",
      "nocache"
    );
}
else if ($_GET['view'] == "galleries") {
    getContent(
      "member",
      "display:galleries",
      "nav:<h4>{$}&#8217;s Galleries</h4>",
      "nav:<p class="breadcrumb"><a href="__addgalleryurl__">Add Gallery</a></p>",
      "show:<div class="galleryImage">",
      "show:<img src="__coverthumburl__" alt="__name__" />",
      "show:<p class="title"><strong>Name:</strong> <a href="__url__">__name__</a></p>",
      "show:<p class="breadcrumb">[<a href="__editurl__">edit</a>] [<a href="__deleteurl__">delete</a>]</p>",
      "show:<p><strong>Description:</strong> __description__</p>",
      "show:<p><span class="tools"><strong>Date:</strong> __date format='Y'__</span></p>",
      "show:</div>",
      "nocache"
    );
}
else if ($_GET['view'] == "gallery") {
    getContent(
      "member",
      "display:gallery",
      "galleryid:" . $_GET['galleryid'],
      //"nav:<h4>__gallerytitle__</h4>",
      "nav:<h4>{$}&#8217;s Galleries</h4>",
      "nav:<p class="breadcrumb"><a href="__galleriesurl__">Back to Galleries</a>",
      "nav: | <a href="__addimageurl__">Add Image</a></p>",
      "nav:<h4>__galleryname__</h4>",
      "show:<div class="galleryImage">",
      "show:<p class="image"><a class="thickbox" rel="gallery" title="__name__" href="__imageurl__"><img src="__thumburl__" alt="__name__" /></a></p>",
      "show:<div class="imageInfo">",
      "show:<p class="title"><strong>Name:</strong> <a href="__url__">__name__</a></p>",
      "show:<p class="breadcrumb">",
      "show:  [<a href="__editurl__">edit</a>]",
      "show:  [<a href="__deleteurl__">delete</a>]",
      "show:  [<a href="__moveupurl__">move up</a>]",
      "show:  [<a href="__movedownurl__">move down</a>]",
      "show:</p>",
      "show:<p><strong>Description:</strong> __description__</p>",
      "show:</div>",
      "show:</div>",
      "nocache"
    );
}
else if ($_GET['view'] == "addgallery") {
    getContent(
      "member",
      "display:addgallery",
      "nav:<h4>{$}&#8217;s Galleries</h4>",
      "nav:<p><a href="__galleriesurl__">Back to Galleries</a></p>",
      "show:__formopen__",
      "show:<label for="galleryName">Name:</label> __namefield__",
      "show:<label for="galleryDescription">Description:</label> __descriptionfield__",
      "show:<p class="submitButton">__submitbutton__ or <a href="#" onclick="history.go(-1)">cancel</a></p>",
      "show:__formclose__",
      "nocache"
    );
}
else if ($_GET['view'] == "editgallery") {
    getContent(
      "member",
      "display:editgallery",
      "galleryid:" . $_GET['galleryid'],
      "nav:<h4>{$}&#8217;s Galleries</h4>",
      "nav:<p><a href="__galleriesurl__">Back to Galleries</a> | <a href="__galleryurl__">Back to __galleryname__</a></p>",
      "show:__formopen__",
      "show:<label for="galleryName">Name:</label> __namefield__",
      "show:<label for="galleryDescription">Description:</label> __descriptionfield__",
      "show:<p class="submitButton">__submitbutton__ or <a href="#" onclick="history.go(-1)">cancel</a></p>",
      "show:__formclose__",
      "nocache"
    );
}
else if ($_GET['view'] == "deletegallery") {
    getContent(
      "member",
      "display:deletegallery",
      "galleryid:" . $_GET['galleryid'],
      "nav:<h4>{$}&#8217;s Galleries</h4>",
      "nav:<p><a href="__galleriesurl__">Back to Galleries</a> | <a href="__galleryurl__">Back to __galleryname__</a></p>",
      "show:__formopen__",
      "show:<p class="submitButton">__submitbutton__ or <a href="#" onclick="history.go(-1)">cancel</a></p>",
      "show:__formclose__",
      "nocache"
    );
}
else if ($_GET['view'] == "galleryimage") {
    getContent(
      "member",
      "display:galleryimage",
      "galleryid:" . $_GET['galleryid'],
      "imageid:" . $_GET['imageid'],
      "nav:<h4>{$}&#8217;s Galleries</h4>",
      "nav:<p><a href="__galleriesurl__">Back to Galleries</a> | <a href="__galleryurl__">Back to Gallery</a></p>",
      "show:<h4>__name__</h4>",
      "show:<img src="__imageurl__" width="420" /><br />",
      "show:<p>",
      "show: [<a href="__editurl__">edit</a>]",
      "show: [<a href="__deleteurl__">delete</a>]",
      "show:</p>",
      "show:<p><strong>Description:</strong> __description__</p>",
      "nocache"
    );
}
else if ($_GET['view'] == "addgalleryimage") {
    getContent(
      "member",
      "display:addgalleryimage",
      "galleryid:" . $_GET['galleryid'],
      "nav:<h4>{$}&#8217;s Galleries</h4>",
      "nav:<p><a href="__galleriesurl__">Back to Galleries</a> | <a href="__galleryurl__">Back to Gallery</a></p>",
      "show:__formopen__",
      "show:<label for="browseFile">File:</label> __imagefilefield__",
      "show:<label for="imageName">Name:</label> __namefield__",
      "show:<label for="imageDescription">Description:</label> __descriptionfield__",
      "show:<p class="checkbox">__gallerycoverfield__ <label class="checkbox" for="galleryCover">Make gallery cover image</label></p>",
      "show:<p class="submitButton">__submitbutton__ or <a href="#" onclick="history.go(-1)">cancel</a></p>",
      "show:__formclose__",
      "nocache"
    );
}
else if ($_GET['view'] == "editgalleryimage") {
    getContent(
      "member",
      "display:editgalleryimage",
      "galleryid:" . $_GET['galleryid'],
      "imageid:" . $_GET['imageid'],
      "nav:<h4>{$}&#8217;s Galleries</h4>",
      "nav:<p><a href="__galleriesurl__">Back to Galleries</a> | <a href="__galleryurl__">Back to Gallery</a> | <a href="__imageurl__">Back to Image</a></p>",
      "show:__formopen__",
      "show:Name: __namefield__<br />",
      "show:Description: __descriptionfield__<br />",
      "show:__gallerycoverfield__ Make gallery cover image<br />",
      "show:<p class="submitButton">__submitbutton__ or <a href="#" onclick="history.go(-1)">cancel</a></p>",
      "show:__formclose__",
      "nocache"
    );
}
else if ($_GET['view'] == "deletegalleryimage") {
    getContent(
      "member",
      "display:deletegalleryimage",
      "galleryid:" . $_GET['galleryid'],
      "imageid:" . $_GET['imageid'],
      "nav:<h4>{$}&#8217;s Galleries</h4>",
      "nav:<p><a href="__galleriesurl__">Back to Galleries</a> | <a href="__galleryurl__">Back to Gallery</a> | <a href="__imageurl__">Back to Image</a></p>",
      "show:__formopen__",
      "show:<p class="submitButton">__submitbutton__ or <a href="#" onclick="history.go(-1)">cancel</a></p>",
      "show:__formclose__",
      "nocache"
    );
}
else {
    getContent(
      "member",
      "display:detail",
      "find:" . $#,
      "restrict:yes",
      "show:<table cellpadding="0" cellspacing="6" class="person">",
      "show:<tr><td colspan="2"><h4>__headercontact__</h4></td></tr>",
      "show:<tr><td class="thing"><strong>E-Mail:</strong></td><td>__emailaddress__</td></tr>",
      "show:<tr><td class="thing"><strong>Address:</strong></td><td>__address__</td></tr>",
      "show:<tr><td class="thing"><strong>Home Phone:</strong></td><td>__homephone__</td></tr>",
      "show:<tr><td class="thing"><strong>Work Phone:</strong></td><td>__workphone__</td></tr>",
      "show:<tr><td class="thing"><strong>Cell Phone:</strong></td><td>__cellphone__</td></tr>",
      "show:<tr><td colspan="2"><h4>__headerpersonal__</h4></td></tr>",
      "show:<tr><td class="thing"><strong>About Me:</strong></td><td>__comment__</td></tr>",
      "show:<tr><td class="thing"><strong>Birth Date:</strong></td><td>__birthdate format='F j, Y'__</td></tr>",
      "show:<tr><td class="thing"><strong>Interests:</strong></td><td>__interestlinks__</td></tr>",
      "show:<tr><td class="thing"><strong>Activities:</strong></td><td>__activitylinks__</td></tr>",
      "show:<tr><td class="thing"><strong>Favorite Music:</strong></td><td>__musiclinks__</td></tr>",
      "show:<tr><td class="thing"><strong>Favorite Movies:</strong></td><td>__movielinks__</td></tr>",
      "show:<tr><td class="thing"><strong>Favorite TV Shows:</strong></td><td>__tvshowlinks__</td></tr>",
      "show:<tr><td class="thing"><strong>Favorite Books:</strong></td><td>__booklinks__</td></tr>",
      "show:<tr><td colspan="2"><h4>__headereducation__</h4></td></tr>",
      "show:<tr><td class="thing"><strong>Level:</strong></td><td>__edulevel1__</td></tr>",
      "show:<tr><td class="thing"><strong>School Name:</strong></td><td>__eduname1__</td></tr>",
      "show:<tr><td class="thing"><strong>Class Year:</strong></td><td>__educlassyear1__</td></tr>",
      "show:<tr><td class="thing"><strong>Degree:</strong></td><td>__edudegreeone1__</td></tr>",
      "show:<tr><td class="thing"><strong>Degree:</strong></td><td>__edudegreetwo1__</td></tr>",
      "show:<tr><td class="thing"><strong>Degree:</strong></td><td>__edudegreethree1__</td></tr>",
      "show:<tr><td class="thing"><br /><strong>Level:</strong></td><td><br />__edulevel2__</td></tr>",
      "show:<tr><td class="thing"><strong>School Name:</strong></td><td>__eduname2__</td></tr>",
      "show:<tr><td class="thing"><strong>Class Year:</strong></td><td>__educlassyear2__</td></tr>",
      "show:<tr><td class="thing"><strong>Degree:</strong></td><td>__edudegreeone2__</td></tr>",
      "show:<tr><td class="thing"><strong>Degree:</strong></td><td>__edudegreetwo2__</td></tr>",
      "show:<tr><td class="thing"><strong>Degree:</strong></td><td>__edudegreethree2__</td></tr>",
      "show:<tr><td class="thing"><br /><strong>Level:</strong></td><td><br />__edulevel3__</td></tr>",
      "show:<tr><td class="thing"><strong>School Name:</strong></td><td>__eduname3__</td></tr>",
      "show:<tr><td class="thing"><strong>Class Year:</strong></td><td>__educlassyear3__</td></tr>",
      "show:<tr><td class="thing"><strong>Degree:</strong></td><td>__edudegreeone3__</td></tr>",
      "show:<tr><td class="thing"><strong>Degree:</strong></td><td>__edudegreetwo3__</td></tr>",
      "show:<tr><td class="thing"><strong>Degree:</strong></td><td>__edudegreethree3__</td></tr>",
      "nocache"
    );

    getContent(
      "member",
      "display:detail",
      "find:" . $#,
      "restrict:yes",
      "show:<tr><td colspan="2"><h4>__headerwork__</h4></td></tr>",
      "show:<tr><td class="thing"><strong>Employer:</strong></td><td>__workemployer1__</td></tr>",
      "show:<tr><td class="thing"><strong>Position:</strong></td><td>__workposition1__</td></tr>",
      "show:<tr><td class="thing"><strong>Description:</strong></td><td>__workdescription1__</td></tr>",
      "show:<tr><td class="thing"><strong>Time Period:</strong></td><td>__workstartdate1 format='F Y'__",
      "show: – __workenddate1 format='F Y'__</td></tr>",
      "show:<tr><td class="thing"><br /><strong>Employer:</strong></td><td><br />__workemployer2__</td></tr>",
      "show:<tr><td class="thing"><strong>Position:</strong></td><td>__workposition2__</td></tr>",
      "show:<tr><td class="thing"><strong>Description:</strong></td><td>__workdescription2__</td></tr>",
      "show:<tr><td class="thing"><strong>Time Period:</strong></td><td>__workstartdate2 format='F Y'__",
      "show: – __workenddate2 format='F Y'__</td></tr>",
      "show:<tr><td class="thing"><br /><strong>Employer:</strong></td><td><br />__workemployer3__</td></tr>",
      "show:<tr><td class="thing"><strong>Position:</strong></td><td>__workposition3__</td></tr>",
      "show:<tr><td class="thing"><strong>Description:</strong></td><td>__workdescription3__</td></tr>",
      "show:<tr><td class="thing"><strong>Time Period:</strong></td><td>__workstartdate3 format='F Y'__",
      "show: – __workenddate3 format='F Y'__</td></tr>",
      "show:<tr><td colspan="2"><h4>__headeronline__</h4></td></tr>",
      "show:<tr><td class="thing"><strong>Website:</strong></td><td>__website__</td></tr>",
      "show:<tr><td class="thing"><strong>RSS Feed:</strong></td><td>__rssfeed__</td></tr>",
      "show:<tr><td class="thing"><strong>Flickr:</strong></td><td>__flickr__</td></tr>",
      "show:<tr><td class="thing"><strong>Photo Gallery:</strong></td><td>__photogallery__</td></tr>",
      "show:<tr><td class="thing"><strong>Podcast:</strong></td><td>__podcast__</td></tr>",
      "show:</table>",
      "nocache"
    );
  }
?>