예제 #1
0
 /**
  * Generate CKEditor language value.
  * @throws CException if CKEditor lang folder cannot be read.
  * @return string CKEditor language value.
  */
 private function _generateCkLang()
 {
     if ($this->autoLanguage === false) {
         $CKEditorExtPath = $this->_CKEditorExtPath;
         if (empty(self::$_languages)) {
             $languages = glob($CKEditorExtPath . '/lang/*');
             if (empty($languages)) {
                 throw new CException('ext.editMe: Cannot access ' . $CKEditorExtPath . '/lang');
             }
             foreach ($languages as $index => $language) {
                 $language = str_replace($CKEditorExtPath . '/lang/', '', $language);
                 if (strpos($language, '_') === 0) {
                     unset($languages[$index]);
                 } else {
                     $languages[$index] = substr($language, 0, -3);
                 }
             }
             self::$_languages = $languages;
         } else {
             $languages = self::$_languages;
         }
         $appLanguage = str_replace('_', '-', strtolower(Yii::app()->language));
         if (in_array($appLanguage, $languages)) {
             return CJavaScript::encode($appLanguage);
         } else {
             if (in_array(substr($appLanguage, 0, 2), $languages)) {
                 return CJavaScript::encode(substr($appLanguage, 0, 2));
             } else {
                 return CJavaScript::encode('en');
             }
         }
     } else {
         return CJavaScript::encode('');
     }
 }