예제 #1
0
파일: functions.php 프로젝트: rhymix/rhymix
/**
 * Get or set lang variable.
 *
 * @param string $code Lang variable name
 * @param string $value `$code`s value
 * @return mixed
 */
function lang($code, $value = null)
{
    if (!$GLOBALS['lang'] instanceof Rhymix\Framework\Lang) {
        $GLOBALS['lang'] = Rhymix\Framework\Lang::getInstance(Context::getLangType() ?: config('locale.default_lang') ?: 'ko');
        $GLOBALS['lang']->loadDirectory(RX_BASEDIR . 'common/lang', 'common');
    }
    if ($value === null) {
        return $GLOBALS['lang']->get($code);
    } else {
        $GLOBALS['lang']->set($code, $value);
    }
}
예제 #2
0
 /**
  * Find selected languages to serve in the site
  *
  * @return array Selected languages
  */
 public static function loadLangSelected()
 {
     static $lang_selected = null;
     if (!$lang_selected) {
         $selected_lang_file = _XE_PATH_ . 'files/config/lang_selected.info';
         if (!FileHandler::hasContent($selected_lang_file)) {
             $old_selected_lang_file = _XE_PATH_ . 'files/cache/lang_selected.info';
             FileHandler::moveFile($old_selected_lang_file, $selected_lang_file);
         }
         if (!FileHandler::hasContent($selected_lang_file)) {
             $lang_selected = Rhymix\Framework\Lang::getSupportedList();
             $buff = '';
             foreach ($lang_selected as $key => $val) {
                 $buff .= "{$key},{$val}\n";
             }
             FileHandler::writeFile($selected_lang_file, $buff);
         } else {
             $langs = file($selected_lang_file);
             foreach ($langs as $val) {
                 list($lang_prefix, $lang_text) = explode(',', $val);
                 if ($lang_prefix === 'jp') {
                     $lang_prefix = 'ja';
                 }
                 $lang_text = trim($lang_text);
                 $lang_selected[$lang_prefix] = $lang_text;
             }
         }
     }
     return $lang_selected;
 }
예제 #3
0
 /**
  * Display General Settings page
  * @return void
  */
 function dispAdminConfigGeneral()
 {
     // Default and enabled languages
     Context::set('supported_lang', Rhymix\Framework\Lang::getSupportedList());
     Context::set('default_lang', Rhymix\Framework\Config::get('locale.default_lang'));
     Context::set('enabled_lang', Rhymix\Framework\Config::get('locale.enabled_lang'));
     Context::set('auto_select_lang', Rhymix\Framework\Config::get('locale.auto_select_lang'));
     // Site title and HTML footer
     $oModuleModel = getModel('module');
     $config = $oModuleModel->getModuleConfig('module');
     Context::set('var_site_title', escape($config->siteTitle));
     Context::set('var_site_subtitle', escape($config->siteSubtitle));
     Context::set('all_html_footer', escape($config->htmlFooter));
     // Index module
     $columnList = array('modules.mid', 'modules.browser_title', 'sites.index_module_srl');
     $start_module = $oModuleModel->getSiteInfo(0, $columnList);
     Context::set('start_module', $start_module);
     // Default time zone
     Context::set('timezones', Rhymix\Framework\DateTime::getTimezoneList());
     Context::set('selected_timezone', Rhymix\Framework\Config::get('locale.default_timezone'));
     // Mobile view
     Context::set('use_mobile_view', config('mobile.enabled') !== null ? config('mobile.enabled') : config('use_mobile_view') ? true : false);
     Context::set('tablets_as_mobile', config('mobile.tablets') ? true : false);
     // Favicon and mobicon and site default image
     $oAdminModel = getAdminModel('admin');
     $favicon_url = $oAdminModel->getFaviconUrl(false) ?: $oAdminModel->getFaviconUrl();
     $mobicon_url = $oAdminModel->getMobileIconUrl(false) ?: $oAdminModel->getMobileIconUrl();
     $site_default_image_url = $oAdminModel->getSiteDefaultImageUrl();
     Context::set('favicon_url', $favicon_url);
     Context::set('mobicon_url', $mobicon_url);
     Context::set('site_default_image_url', $site_default_image_url);
     $this->setTemplateFile('config_general');
 }
예제 #4
0
 /**
  * Set data to lang variable
  *
  * @param string $code Language variable name
  * @param string $val `$code`s value
  * @return void
  */
 public static function setLang($code, $val)
 {
     if (!$GLOBALS['lang'] instanceof Rhymix\Framework\Lang) {
         $GLOBALS['lang'] = Rhymix\Framework\Lang::getInstance(self::$_instance->lang_type ?: config('locale.default_lang') ?: 'ko');
         $GLOBALS['lang']->loadDirectory(RX_BASEDIR . 'common/lang', 'common');
     }
     $GLOBALS['lang']->set($code, $val);
 }
예제 #5
0
 /**
  * Display General Settings page
  * @return void
  */
 function dispAdminConfigGeneral()
 {
     // Default and enabled languages
     Context::set('supported_lang', Rhymix\Framework\Lang::getSupportedList());
     Context::set('default_lang', Rhymix\Framework\Config::get('locale.default_lang'));
     Context::set('enabled_lang', Rhymix\Framework\Config::get('locale.enabled_lang'));
     // Site title and HTML footer
     $oModuleModel = getModel('module');
     $config = $oModuleModel->getModuleConfig('module');
     Context::set('site_title', escape($config->siteTitle));
     Context::set('html_footer', escape($config->htmlFooter));
     // Index module
     $columnList = array('modules.mid', 'modules.browser_title', 'sites.index_module_srl');
     $start_module = $oModuleModel->getSiteInfo(0, $columnList);
     Context::set('start_module', $start_module);
     // Thumbnail settings
     $oDocumentModel = getModel('document');
     $config = $oDocumentModel->getDocumentConfig();
     Context::set('thumbnail_type', $config->thumbnail_type ?: 'crop');
     // Default time zone
     Context::set('timezones', Rhymix\Framework\DateTime::getTimezoneList());
     Context::set('selected_timezone', Rhymix\Framework\Config::get('locale.default_timezone'));
     // Mobile view
     Context::set('use_mobile_view', config('use_mobile_view') ? 'Y' : 'N');
     // Favicon and mobicon
     $oAdminModel = getAdminModel('admin');
     $favicon_url = $oAdminModel->getFaviconUrl();
     $mobicon_url = $oAdminModel->getMobileIconUrl();
     Context::set('favicon_url', $favicon_url . '?' . $_SERVER['REQUEST_TIME']);
     Context::set('mobicon_url', $mobicon_url . '?' . $_SERVER['REQUEST_TIME']);
     $this->setTemplateFile('config_general');
 }
예제 #6
0
 /**
  * Find selected languages to serve in the site
  *
  * @return array Selected languages
  */
 public static function loadLangSelected()
 {
     static $lang_selected = array();
     if (!count($lang_selected)) {
         $supported = Rhymix\Framework\Lang::getSupportedList();
         $selected = Rhymix\Framework\Config::get('locale.enabled_lang');
         if ($selected) {
             foreach ($selected as $lang) {
                 $lang_selected[$lang] = $supported[$lang];
             }
         } else {
             $lang_selected = $supported;
         }
     }
     return $lang_selected;
 }