/**
  * Save Message
  *
  * @access public
  * @return void
  */
 public function saveMessage($event)
 {
     // If we are in production mode, then do not run this method. It is slow and produces upto an unnecessary
     // two database requests per missing message.
     if (defined('PRODUCTION') && PRODUCTION) {
         return;
     }
     // Grab the database connection that the message component uses, rather than just "Yii::app()->db", as they
     // may be different.
     $this->db = $event->sender->getDbConnection();
     // Load the message.
     $source = Message::model()->find($this->db->quoteColumnName('message') . ' = :message AND ' . $this->db->quoteColumnName('category') . ' = :category', array(':message' => $event->message, ':category' => $event->category));
     // If we didn't find the message, then we need to add it.
     if (!$source) {
         $model = new Message();
         $model->category = $event->category;
         $model->message = $event->message;
         $model->save();
     }
     // We now have the message in the database, don't bother with creating an entry for the translation and we
     // have no idea what the translation would be. Would could go into the Google Translate API, but that's not
     // something we want running on every page load - more of a CRON job or admin task to be honest.
 }