Custom Mailing Labels via PHP Programming

One of the quick side projects I worked on in the past two weeks was a contract PHP programming job for a clubhouse in Marlborough, MA.

The business requirements:

  • User to enter a cut-off date
  • Print pages of labels for all members who
    • Had been in attendance since the cut-off date, AND
    • Belonged to a “certain” subset of members
  • Labels need to be formatted for Avery 5160

avery 5160 labels diagram

The clubhouse data is stored in MySQL tables in a database on their Intranet. There are over 1,000 members listed in the members table. Some are active and some are no longer active. Those who attend the clubhouse are checked in with a barcode reader, and that data is stored in an attendance table on the Intranet.

Programming solution:

  • User to enter a cut-off date
    In order to avoid formatting and “real” date validations, instead of creating an open data entry field, a drop-down select field loaded with valid attendance dates was created.  The user just scrolls the list. (Only the last 120 days are presented (a calendar presentation (i.e. jQuery datepicker) does not work for this client.))
  • Print pages of labels
    • Using the IDs of members in attendance from the cut-off date to the present date, a lookup on the members table indicates whether the member belongs in the “certain” subset mentioned above. If so, a label is formatted for that member. If not, the program skips to the next member ID.
    • Once all the IDs have been processed, a precisely formatted PDF file is displayed to the user.
    • The user can send it to the printer using the Adobe® Reader® print symbol (without having to adjust margins or orientation), and, can save it on the local system in order to have a record of recipients for that mailing.

The programming solution includes PHP, MySQL, and FPDF (for creating the PDF).

A fun diversion in the middle of creating WordPress websites!

4 Tips for WordPress Website Security

Karen Callahan speaking

Here I am, Thursday, 6-23-2016, presenting to my BNI group in Marlborough, MA.

I opened with a fun, something-no-one-knows-about-me story that involved a 13-hour train ride in Spain, an ex-con, a knife, and the threatening of my life. Ahhh… but you will have to meet me for a 1-to-1 to get the whole story!

One of the questions I had been asked to answer that day was:

What is the new gold standard in WordPress website security?

If only there were one thing that could be done for complete protection! That day, I responded with two quick tips:

  1. Create difficult, lengthy passwords
    This is a simple measure that deters a lot of would-be hackers. An easy password is like leaving the keys in your car or the front door to your home unlocked. The first step in self defense is simple locks. (You know that some burglars and car thieves are opportunists looking for an easy score and will move to another car or another house when they find that your car and home are locked down.)
  2. Host your WordPress website with a reputable hosting company
    Do research. Search for “company_name reviews”, and read the reviews. Check websites that exist for discussing the pros and cons of website hosting firms (i.e. Remember that you get what you pay for, so, opt for a mid-priced website hosting account and not the cheapest.

If I had had more time, I would have added 2 more tips that do-it-yourselfers can do to protect their WordPress websites. The full discussion is in my LinkedIn Pulse article, 2 tips to make your WordPress website less attractive to hackers. In the article, I recommend

  1. Updating the software often
  2. Keeping the website hosting account lean and mean

Running old WordPress versions and old plugin versions and keeping unused files in your WordPress hosting account set up your website as a desirable breeding ground for hackers. In those conditions, hackers can work undetected and inject code into your website.

Code that messes up your website. Code that downloads Trojan viruses to your visitors’ cell phones and laptops. Code that kidnaps computers and holds them for ransom. Code that establishes your hosting account as a spam email hub.
–Karen Callahan, 2 tips to make your WordPress website less attractive to hackers

You can take steps to avoid being the “hub” of malicious activity. Learn how to clean up your WordPress hosting account

I write these 4 tips for protecting a WordPress website here because a good, non-techie friend of mine often reminds me that not everyone is a professional WordPress developer like myself, and when you are a non-techie, “You don’t know what you don’t know“. Now you know! Remember to backup your website often, and especially before upgrading WordPress and the plugins.



New WordPress Website for local Insurance Professional

Congratulations to Diane Rosen, founder of Integrated Insurance Planning, on her new responsive WordPress website.

Diane hired Adventures Online to develop the first ever website for her insurance business. Diane is a certified CFP, and has been working in Financial Planning and Insurance for over 25 years. In 2014, she sold her successful financial planning practice and retained her insurance business to establish Integrated Insurance Planning which focuses on:

  • Long Term Care Insurance
  • Life Insurance
  • Disability Insurance

The business requirements for developing the website were:

  • Keep it simple with a few words on a few pages
  • Use the teal in her logo as a highlight throughout the website
  • Have the website rest on a contrasting light green background
  • Highlight that “it is all about her clients’ needs; their financial protection and comfort” – and not about pushing products or meeting quotas
  • Ability for the owner to make light updates to the content (CMS)
Integrated Insurance Planning website

Click to view larger version


  • A WordPress-based website because of:
    • The user-friendly Content Management System (CMS)
    • The plethora of frameworks and themes to choose from
    • The built-in “responsiveness” (of the themes)

The resulting website tells Diane Rosen’s story in less than 8 pages, presents the content in a simple fashion with the main content on the left and a sidebar highlighting the business focus on the right, includes two forms for connecting with Diane, and the ability for visitors to search the website for the particular insurance that is of interest to them.

Diane is very happy with her responsive website and wrote:

When a business friend referred Karen to me, she said that it would be easy to work with her.  After working with her I can honestly say that my friend’s comment was a huge understatement.

Karen built a WordPress website for me and I am very pleased with the result.  If you use Karen you will find she is responsive, dedicated and competent and a great teacher.  She developed on a timely basis, which was important for me.  She led me through each step and not only communicated well and clearly, she made great recommendations and even helped me write some of the content.  After the training on how to update the website this non-techie person feels very competent with my newly learned skills.  She’s a great teacher in addition to all her other skills.

If you are considering a WordPress website, choose Adventures Online/Karen Callahan and you’ll be happy with the result.


Setting up Email in Outlook

I have Outlook 2010. These instructions contain the text/prompts that are in that version. If you do not have the exact wording, look for similar.

These are “generally” acceptable settings that work in lots of situations. Settings change machine to machine and ISP to ISP. For the settings for your exact situation, ask your provider — the person who set up your email.

  • Open Outlook
  • Click the FILE tab, then Account Settings
  • On the Email Tab, Click NEW
  • On the NEW Account dialogue box, tick Email Account, then click Next
  • On Auto Account Set Up, scroll to bottom and tick Manually configure…, then click Next
  • On Choose Service, tick Internet E-mail, then Next
  • User Information -This is used for Display in Outlook
    • Your Name: Your first name and your last name
    • Email address: xxyyzz@yourdomainname.nnn (i.e.,
  • Server Information – Your provider should give you this information
    • Account Type: Pull down to IMAP or POP3
    • Incoming: imap.yourdomainname.nnn or pop.yourdomainname.nnn
    • Outgoing: smtp.yourdomainname.nnn
  • Logon Information – This is used to log into the email account
    • User Name: xxyyzz@yourdomainname.nnn
    • Password: ***************
    • Remember Password – Check
  • Require logon using – Leave unchecked
  • On the right click MORE SETTINGS
    • Click on the outgoing server tab
    • Check My outgoing server requires authentication
    • Leave “Use same settings… ticked, click OK
  • Click on the ADVANCED tab
    • Incoming server = 143
    • Outgoing server = change from 25 to 587
  • Click OK
  • Now Test Account Settings
  • There should be two checks. If not, start at the beginning and double check.

New responsive WordPress website for local travel agent

Congratulations to Linda Tatten, CTC on the debut of the new responsive WordPress website for her business Travel by Tatten.

Linda and I began talking about converting her older HTML website with a WordPress blog to a full WordPress website in late December. Over the early months of 2016, we talked about what she liked about her existing website, what she wanted to keep, and what she wanted to change. She provided me with preferences on what she wanted with regard to website design; we considered 2 – 3 templates seriously, then settled on a Genesis child theme.

Her business goals were to:

  1. Present a more modern image to the world via the website design
  2. Highlight her specialties
  3. Include components that encourage visitors to become followers
  4. Provide a user-friendly experience were information is quickly found

New responsive WordPress design (after)new responsive WordPress design

The new design features two menus. One is in the top right, and one is below the fold when the website first displays. As a page is scrolled, the invisible menu becomes visible and stays on the screen. Both menus travel as an overlay down the page so that visitors can quickly get to the information they want. Ms. Tatten’s specialties: The Hawaiian Islands, Bora Bora and Tahiti, and Cruises are highlighted with large photos on the home page, and are listed on the top menu for easy access when not on the Home page. There is a short form at the bottom of each page for Joining Our Email List and a longer Contact Us form for personal inquiries has its own page. The contact phone number is on the menu, highlighted with a gold background (seen above to the right of the blue), and is clickable for auto-dialing Travel by Tatten immediately. Social media connection icons and other contact information appear at the bottom of each page.

The original HTML website with a WordPress blog (before)original travel by tatten HTML website
The original website started as a full HTML website. In 2005, a WordPress blog was added. The design was static with 2 menus; one above and one to the left of the content. Each page featured 4 travel photos on the left side. When rolled-over, each photo would change to another travel scene.  The 5th photo was usually larger, and featured Linda one one of her many adventures (i.e. heli snowshoeing and swimming with dolphins). The content area was designated with a soft gold border. Every page looked the same, and the contents of the pages outside of the blog could not be updated by Ms. Tatten. With the new design, she has full control over updating all of the content – whenever she wants!  The website will be more up to date and can grow as big as Ms. Tatten might want  – and on her schedule.