Pommo_Helper_L10n::init PHP Method

init() public static method

public static init ( $language, $baseDir )
    public static function init($language, $baseDir)
    {
        if (!is_file($baseDir . 'language/' . $language . '/LC_MESSAGES/pommo.mo')) {
            Pommo::kill('Unknown Language (' . $language . ')');
        }
        // if LC_MESSAGES is not available.. make it (helpful for win32)
        if (!defined('LC_MESSAGES')) {
            define('LC_MESSAGES', 6);
        }
        // load gettext emulation layer if PHP is not compiled w/ gettext support
        if (!function_exists('gettext')) {
            require_once $baseDir . 'lib/gettext/gettext.php';
            require_once $baseDir . 'lib/gettext/gettext.inc';
        }
        // set the locale
        if (!Pommo_Helper_L10n::_setLocale(LC_MESSAGES, $language, $baseDir)) {
            // *** SYSTEM LOCALE COULD NOT BE USED, USE EMULTATION ****
            require_once $baseDir . 'lib/gettext/gettext.php';
            require_once $baseDir . 'lib/gettext/gettext.inc';
            if (!Pommo_Helper_L10n::_setLocaleEmu(LC_MESSAGES, $language, $baseDir)) {
                Pommo::kill('Error setting up language translation!');
            }
        } else {
            // *** SYSTEM LOCALE WAS USED ***
            if (!defined('_poMMo_gettext')) {
                // set gettext environment
                $domain = 'pommo';
                bindtextdomain($domain, $baseDir . 'language');
                textdomain($domain);
                if (function_exists('bind_textdomain_codeset')) {
                    bind_textdomain_codeset($domain, 'UTF-8');
                }
            }
        }
    }

Usage Example

Beispiel #1
0
 public static function init($args = array())
 {
     $defaults = array('authLevel' => 1, 'keep' => FALSE, 'noSession' => FALSE, 'sessionID' => NULL, 'install' => FALSE);
     // 	merge submitted parameters
     $p = Pommo_Api::getParams($defaults, $args);
     // 	Return if not config.php file present
     if (!self::$_hasConfigFile) {
         return false;
     }
     //	Bypass Reading of Config, SESSION creation, and authentication checks
     //	and return if 'install' passed
     if ($p['install']) {
         return;
     }
     // 	load configuration data. Note: cannot save in session, as session
     //	needs unique key -- this is simplest method.
     self::$_config = Pommo_Api::configGetBase();
     //	toggle DB debugging
     if (self::$_debug) {
         self::$_dbo->debug(TRUE);
     }
     //	Bypass SESSION creation, reading of config, authentication checks
     //	and return if 'noSession' passed
     if ($p['noSession']) {
         return;
     }
     // 	Start the session
     if (!empty($p['sessionID'])) {
         session_id($p['sessionID']);
     }
     self::startSession();
     // check for "session" language -- user defined language on the fly.
     if (self::$_slanguage) {
         self::$_session['slanguage'] = self::$_slanguage;
     }
     if (isset(self::$_session['slanguage'])) {
         if (self::$_session['slanguage'] == 'en') {
             self::$_l10n = FALSE;
         } else {
             self::$_l10n = TRUE;
             require_once self::$_baseDir . 'classes/Pommo_Helper_L10n.php';
             Pommo_Helper_L10n::init(self::$_session['slanguage'], self::$_baseDir);
         }
         self::$_slanguage = self::$_session['slanguage'];
     }
     // 	if authLevel == '*' || _poMMo_support (0 if poMMo not installed,
     //	1 if installed)
     if (defined('_poMMo_support')) {
         require_once self::$_baseDir . 'classes/Pommo_Install.php';
         $p['authLevel'] = Pommo_Install::verify() ? 1 : 0;
     }
     // check authentication levels
     self::$_auth = new Pommo_Auth(array('requiredLevel' => $p['authLevel']));
     // clear SESSION 'data' unless keep is passed.
     // TODO --> phase this out in favor of page state system?
     // -- add "persistent" flag & complicate state initilization...
     if (!$p['keep']) {
         self::$_session['data'] = array();
     }
 }