We are excited to share our latest launch to hit the web, Mail My Patients.

This project is extra special to us because it is our newest venture at Blue Ember Design and is a project we have been working on for quite some time. Mail My Patients is email marketing for health care professionals. We aim to provide a new way for doctors to get in front of their patients on a regular basis with simple, effective, and affordable email marketing campaigns.
Mail My Patients isn’t just for doctors. Anyone who serves patients, such as dentists, chiropractors, massage therapists, and veterinarians will find this marketing tool highly useful. We offer free and custom email templates and there is no cost to get started. Get more details.
Follow us on Twitter: @mailmypatients
We are excited to announce our latest website relaunch for one of our clients, The Cox Team.
Backed by 25 years of strong experience in the East Bay real estate market, Pat Cox and her family of Realtors are top-notch experts on buying and selling homes. Throughout the relaunch process, the constant goal was primarily an updated look to match the quality of homes they transact. Additionally, we focused on implementing a full-featured listings page and customized MLS search with email updates. We were honored to be able to work with Noah Stokes of Two By Two on this project. Noah provided design, HTML/CSS markup, and his Expression Engine knowledge throughout the site and knocked it out of the park.
If you are looking for a highly professional, extremely friendly Realtor in the East Bay Area, don’t hesitate to get in touch with The Cox Team.
BEFORE

AFTER

I was recently working on a project that involved FTP and I thought it would be a great chance to get away from the built-in PHP functionality and use the CodeIgniter FTP library instead.
I was pretty surprised to find that there was no download functionality in the base FTP library as of CI 1.7.2. I’ve extended the library to incorporate file download and will share that here.
<?php
// This codes goes in the 'application/libraries' folder with a
// file name of MY_Ftp.php
class MY_Ftp extends CI_Ftp {
/**
* Constructor
**/
function MY_Ftp() {
parent::CI_Ftp();
}
/**
* Download a file from a FTP server
* @param <string> $rem_path Remote path of the file to download
* @param <string> $loc_path Local path destination for download
* @param <string> $mode Transfer mode, defaults to auto
**/
function download($rem_path, $loc_path, $mode='auto') {
// check for an active connection
if ( ! $this->_is_conn()) {
return FALSE;
}
// get remote folder/filename
$rem_folder = dirname($rem_path);
$rem_filename = basename($rem_path);
// if a local directory was passed handle differently.
// Otherwise, treat same as remote.
if (@is_dir($loc_path)) {
$loc_folder = rtrim($loc_path, '/');
$loc_filename = $rem_filename;
}
else {
$loc_folder = dirname($loc_path);
$loc_filename = basename($loc_path);
}
// check that the loc path exists
if ( $loc_folder != '.' && ! @is_dir($loc_folder)) {
$this->_error('ftp_bad_loc_path');
return FALSE;
}
// check that loc path and file are writable
elseif ( ! @is_writable($loc_folder) OR (file_exists($loc_folder.'/'.$loc_filename) && ! @is_writable($loc_folder.'/'.$loc_filename))) {
$this->_error('ftp_loc_not_write');
return FALSE;
}
// store old paths
$old_rem_path = @ftp_pwd($this->conn_id);
$old_loc_path = getcwd();
// move to the local path
if ( ! @chdir($loc_folder)) {
$this->_error('ftp_bad_loc_path');
return FALSE;
}
// move to the remote path
if ( $rem_folder != '.' && ! $this->changedir($rem_folder)) {
$this->_error('ftp_bad_rem_path');
return FALSE;
}
// check that the file exists remotely
$found_file = FALSE;
$files = $this->list_files();
if (count($files) > 0) {
foreach ($files as $f) {
if ($f == $rem_filename) {
$found_file = TRUE;
break;
}
}
}
if ( ! $found_file) {
$this->_error('ftp_bad_rem_file');
return FALSE;
}
// Set the mode if not specified
if ($mode == 'auto') {
// Get the file extension so we can set the upload type
$ext = $this->_getext($rem_path);
$mode = $this->_settype($ext);
}
$mode = ($mode == 'ascii') ? FTP_ASCII : FTP_BINARY;
// download the file
$result = @ftp_get($this->conn_id, $loc_folder.'/'.$loc_filename, $rem_filename, $mode);
if ($result === FALSE) {
if ($this->debug == TRUE)
$this->_error('ftp_unable_to_download');
return FALSE;
}
// move back to the root path
$this->changedir($old_rem_path);
@chdir($old_loc_path);
return TRUE;
}
}
?>
As a side note, you will need to tweak your language file to include all of the message codes (e.g., ftp_bad_loc_path) passed to _error() for proper error display in your app.
We are excited to announce a recent website relaunch for one of our clients, Vital Life Wellness Center.
With a desire to join the blogging community and share her passion for healthy living, Blue Ember provided Dr. Andrea Pritchett with a custom WordPress template. During the entire design process we paid extra care to matching Vital Life’s existing branding, while lightening it up a bit with a fresh, updated look.
Stop by the new blog and join the conversation as Dr. Pritchett helps to “maximize your life and increase your vitality”.
BEFORE

AFTER

I’ve been a Mac user for just about a year now (couldn’t ever go back), but I’ve noticed an annoying little “feature” within Firefox that I was never able to resolve until recently. While tabbing through form fields, drop-downs are skipped and require switching to the mouse to set a value.
Turns out the issue is pretty simple to resolve. Go to System Preferences, then select Keyboard. On the bottom of the window there is a section titled ‘Full Keyboard Access’ (as pictured below).

Simply change the option to ‘All controls’ instead of the default. This will allow you to tab between all elements on the page. In addition to drop-downs, you will now be able to focus on links as well.
Tip: The keyboard shortcut Control +F7 will toggle this setting if you prefer to enable/disable it quickly.
A big nod goes to howtogeek.com for this fix.
Client Testimonial
"Blue Ember Design has been an integral part in improving the efficiency of our online retail business. I have used other IT consultants in the past and none of them come close to the quality of work performed by Garrett St. John and Blue Ember Design. I would highly recommend this company to any organization in need of software development, IT consulting or search engine optimization."
Kris Damhorst
Damhorst Toys
Subscribe
Stay up-to-date with our latest postings without having to check the site.