/**
  * Creates the default SilvercartShopEmails if not exists
  * 
  * @return void
  *
  * @author Sebastian Diel <*****@*****.**>
  * @since 02.05.2012
  */
 public function createDefaultShopEmails()
 {
     $shopEmailRegistrationOptIn = SilvercartShopEmail::get()->filter('Identifier', 'RegistrationOptIn')->first();
     if (!$shopEmailRegistrationOptIn) {
         $shopEmailRegistrationOptIn = new SilvercartShopEmail();
         $shopEmailRegistrationOptIn->setField('Identifier', 'RegistrationOptIn');
         $shopEmailRegistrationOptIn->setField('Subject', _t('SilvercartRegistrationPage.PLEASE_COFIRM', 'please confirm Your registration'));
         $shopEmailRegistrationOptIn->setField('EmailText', _t('SilvercartRegistrationPage.CONFIRMATION_TEXT', '<h1>Complete registration</h1><p>Please confirm Your activation or copy the link to Your Browser.</p><p><a href="$ConfirmationLink">Confirm registration</a></p><p>In case You did not register please ignore this mail.</p><p>Your shop team</p>'));
         $shopEmailRegistrationOptIn->write();
     }
     $shopEmailRegistrationConfirmation = SilvercartShopEmail::get()->filter('Identifier', 'RegistrationConfirmation')->first();
     if (!$shopEmailRegistrationConfirmation) {
         $shopEmailRegistrationConfirmation = new SilvercartShopEmail();
         $shopEmailRegistrationConfirmation->setField('Identifier', 'RegistrationConfirmation');
         $shopEmailRegistrationConfirmation->setField('Subject', _t('SilvercartRegistrationPage.THANKS', 'Many thanks for Your registration'));
         $shopEmailRegistrationConfirmation->setField('EmailText', _t('SilvercartRegistrationPage.SUCCESS_TEXT', '<h1>Registration completed successfully!</h1><p>Many thanks for Your registration.</p><p>Have a nice time on our website!</p><p>Your webshop team</p>'));
         $shopEmailRegistrationConfirmation->write();
     }
     $checkOrderMail = SilvercartShopEmail::get()->filter('Identifier', 'MailOrderConfirmation')->first();
     if (!$checkOrderMail) {
         $orderMail = new SilvercartShopEmail();
         $orderMail->setField('Identifier', 'MailOrderConfirmation');
         $orderMail->setField('Subject', _t('SilvercartShopEmail.ORDER_ARRIVED_EMAIL_SUBJECT'));
         $orderMail->setField('Variables', "\$FirstName\n\$Surname\n\$Salutation\n\$Order");
         $defaultTemplateFile = Director::baseFolder() . '/silvercart/templates/email/SilvercartMailOrderConfirmation.ss';
         if (is_file($defaultTemplateFile)) {
             $defaultTemplate = SilvercartShopEmail::parse(file_get_contents($defaultTemplateFile));
         } else {
             $defaultTemplate = '';
         }
         $orderMail->setField('EmailText', $defaultTemplate);
         $orderMail->write();
     }
     $orderMail = SilvercartShopEmail::get()->filter('Identifier', 'MailOrderNotification')->first();
     if (!$orderMail) {
         $orderMail = new SilvercartShopEmail();
         $orderMail->setField('Identifier', 'MailOrderNotification');
         $orderMail->setField('Subject', _t('SilvercartShopEmail.NEW_ORDER_PLACED'));
         $orderMail->setField('Variables', "\$FirstName\n\$Surname\n\$Salutation\n\$Order");
         $defaultTemplateFile = Director::baseFolder() . '/silvercart/templates/email/SilvercartMailOrderNotification.ss';
         if (is_file($defaultTemplateFile)) {
             $defaultTemplate = SilvercartShopEmail::parse(file_get_contents($defaultTemplateFile));
         } else {
             $defaultTemplate = '';
         }
         $orderMail->setField('EmailText', $defaultTemplate);
         $orderMail->write();
     }
     $contactEmail = SilvercartShopEmail::get()->filter('Identifier', 'ContactMessage')->first();
     if (!$contactEmail) {
         $contactEmail = new SilvercartShopEmail();
         $contactEmail->setField('Identifier', 'ContactMessage');
         $contactEmail->setField('Subject', _t('SilvercartContactFormPage.REQUEST', 'request via contact form'));
         $contactEmail->setField('Variables', "\$FirstName\n\$Surname\n\$Email\n\$Message");
         $contactEmail->setField('EmailText', _t('SilvercartContactMessage.TEXT'));
         $contactEmail->write();
     }
     $shopEmailNewsletterOptIn = SilvercartShopEmail::get()->filter('Identifier', 'NewsletterOptIn')->first();
     if (!$shopEmailNewsletterOptIn) {
         $shopEmailNewsletterOptIn = new SilvercartShopEmail();
         $shopEmailNewsletterOptIn->setField('Identifier', 'NewsletterOptIn');
         $shopEmailNewsletterOptIn->setField('Subject', _t('SilvercartNewsletterOptInConfirmationPage.TITLE'));
         $shopEmailNewsletterOptIn->setField('EmailText', _t('SilvercartNewsletterOptInConfirmationPage.EMAIL_CONFIRMATION_TEXT'));
         $shopEmailNewsletterOptIn->write();
     }
     $shopEmailNewsletterOptInConfirmation = SilvercartShopEmail::get()->filter('Identifier', 'NewsletterOptInConfirmation')->first();
     if (!$shopEmailNewsletterOptInConfirmation) {
         $shopEmailNewsletterOptInConfirmation = new SilvercartShopEmail();
         $shopEmailNewsletterOptInConfirmation->setField('Identifier', 'NewsletterOptInConfirmation');
         $shopEmailNewsletterOptInConfirmation->setField('Subject', _t('SilvercartNewsletterOptInConfirmationPage.TITLE_THANKS'));
         $shopEmailNewsletterOptInConfirmation->setField('EmailText', _t('SilvercartNewsletterOptInConfirmationPage.CONFIRMATIONSUCCESSMESSAGE'));
         $shopEmailNewsletterOptInConfirmation->write();
     }
     $shopEmailForgotPasswordEmail = SilvercartShopEmail::get()->filter('Identifier', 'ForgotPasswordEmail')->first();
     if (!$shopEmailForgotPasswordEmail) {
         $shopEmailForgotPasswordEmail = new SilvercartShopEmail();
         $shopEmailForgotPasswordEmail->Identifier = 'ForgotPasswordEmail';
         $shopEmailForgotPasswordEmail->Subject = _t('SilvercartShopEmail.FORGOT_PASSWORD_SUBJECT');
         $shopEmailForgotPasswordEmail->Variables = "\$FirstName\n\$Surname\n\$Salutation\n\$PasswordResetLink";
         $defaultTemplateFile = Director::baseFolder() . '/silvercart/templates/email/ForgotPasswordEmail.ss';
         if (is_file($defaultTemplateFile)) {
             $defaultTemplate = SilvercartShopEmail::parse(file_get_contents($defaultTemplateFile));
         } else {
             $defaultTemplate = '';
         }
         $shopEmailForgotPasswordEmail->EmailText = $defaultTemplate;
         $shopEmailForgotPasswordEmail->write();
     }
     $shopEmailOrderShippedNotification = SilvercartShopEmail::get()->filter('Identifier', 'OrderShippedNotification')->first();
     if (!$shopEmailOrderShippedNotification) {
         $shopEmailOrderShippedNotification = new SilvercartShopEmail();
         $shopEmailOrderShippedNotification->setField('Identifier', 'OrderShippedNotification');
         $shopEmailOrderShippedNotification->setField('Subject', _t('SilvercartShopEmail.ORDER_SHIPPED_NOTIFICATION_SUBJECT'));
         $shopEmailOrderShippedNotification->setField('Variables', "\$FirstName\n\$Surname\n\$Salutation\n\$SilvercartOrder");
         $defaultTemplateFile = Director::baseFolder() . '/silvercart/templates/email/SilvercartMailOrderShippedNotification.ss';
         if (is_file($defaultTemplateFile)) {
             $defaultTemplate = SilvercartShopEmail::parse(file_get_contents($defaultTemplateFile));
         } else {
             $defaultTemplate = '';
         }
         $shopEmailOrderShippedNotification->setField('EmailText', $defaultTemplate);
         $shopEmailOrderShippedNotification->write();
     }
     $shopEmailRevocationNotification = SilvercartShopEmail::get()->filter('Identifier', 'RevocationNotification')->first();
     if (!$shopEmailRevocationNotification) {
         $shopEmailRevocationNotification = new SilvercartShopEmail();
         $shopEmailRevocationNotification->Identifier = 'RevocationNotification';
         $shopEmailRevocationNotification->Subject = _t('SilvercartMailRevocationNotification.Subject');
         $shopEmailRevocationNotification->Variables = '';
         $defaultTemplateFile = Director::baseFolder() . '/silvercart/templates/email/SilvercartMailRevocationNotification.ss';
         if (is_file($defaultTemplateFile)) {
             $defaultTemplate = SilvercartShopEmail::parse(file_get_contents($defaultTemplateFile));
         } else {
             $defaultTemplate = '';
         }
         $shopEmailRevocationNotification->EmailText = $defaultTemplate;
         $shopEmailRevocationNotification->write();
         $shopEmailRevocationConfirmation = new SilvercartShopEmail();
         $shopEmailRevocationConfirmation->Identifier = 'RevocationConfirmation';
         $shopEmailRevocationConfirmation->Subject = _t('SilvercartMailRevocationConfirmation.Subject');
         $shopEmailRevocationConfirmation->Variables = '';
         $defaultTemplateFile = Director::baseFolder() . '/silvercart/templates/email/SilvercartMailRevocationConfirmation.ss';
         if (is_file($defaultTemplateFile)) {
             $defaultTemplate = SilvercartShopEmail::parse(file_get_contents($defaultTemplateFile));
         } else {
             $defaultTemplate = '';
         }
         $shopEmailRevocationConfirmation->EmailText = $defaultTemplate;
         $shopEmailRevocationConfirmation->write();
     }
     // attribute ShopEmails to order status
     $orderStatus = SilvercartOrderStatus::get()->filter('Code', 'shipped')->sort('ID')->first();
     $orderEmail = SilvercartShopEmail::get()->filter('Identifier', 'OrderShippedNotification')->sort('ID')->first();
     if ($orderStatus && $orderEmail) {
         $orderStatus->SilvercartShopEmails()->add($orderEmail);
     }
 }