public function testFactoryShouldSetADefaultLanguageForUnknownLocales()
 {
     $default_language = new BaseLanguage($this->supportedLanguages, ForgeConfig::get('sys_lang'));
     $default_language->loadLanguage(ForgeConfig::get('sys_lang'));
     $factory = new BaseLanguageFactory();
     $this->assertEqual($default_language, $factory->getBaseLanguage('unknown_locale'));
 }
 /**
  * Manage the mail content and send it
  * 
  * @param User    $user
  * @param FRSFile $file
  * @param String  $bodyContent
  * @param Array   $option
  * 
  * @return Boolean
  */
 function sendNotificationMail($user, $file, $bodyContent, $option)
 {
     $mail = new Mail();
     $language = new BaseLanguage($GLOBALS['sys_supported_languages'], $GLOBALS['sys_lang']);
     $language->loadLanguage($user->getLanguageID());
     $subject = $GLOBALS['sys_name'] . ' Error in ' . $file->getFileLocation();
     $mail->setFrom($GLOBALS['sys_noreply']);
     $mail->setBcc($user->getEmail());
     $mail->setSubject($subject);
     $mail->setBody($language->getText('mail_system_event', $bodyContent, $option));
     return $mail->send();
 }
 /**
  * Instantiate and load a new BaseLanguage
  *
  * @param string $supported_languages The supported languages eg: 'en_US,fr_FR'
  * @param string $locale              The current locale
  *
  * @return BaseLanguage
  */
 protected function createBaseLanguage($locale)
 {
     $currentlocale = setlocale(LC_ALL, '0');
     $language = new BaseLanguage($this->supported_languages, $locale);
     $language->loadLanguage($locale);
     setlocale(LC_ALL, $currentlocale);
     return $language;
 }