Ejemplo n.º 1
0
 /**
  * Load the translation strings
  *
  * @access public
  * @author Jerome Bogaerts, <*****@*****.**>
  * @param  common_ext_Extension $extension
  * @param  string langCode
  * @return mixed
  */
 public static function init(common_ext_Extension $extension, $langCode)
 {
     // if the langCode is empty do nothing
     if (empty($langCode)) {
         throw new Exception("Language is not defined");
     }
     //init the ClearFw l10n tools
     l10n::init();
     $basePath = $extension->getDir();
     if (!empty($_GET['ext']) && is_string($_GET['ext'])) {
         $shownExtension = common_ext_ExtensionsManager::singleton()->getExtensionById($_GET['ext']);
         if (!empty($shownExtension)) {
             try {
                 $basePath = $shownExtension->getDir();
                 $baseUrl = $shownExtension->getConstant('BASE_URL');
             } catch (common_exception_Error $e) {
                 // let the current base path be used...
             }
         }
     }
     l10n::set($basePath . 'locales' . DIRECTORY_SEPARATOR . $langCode . DIRECTORY_SEPARATOR . 'messages');
 }
Ejemplo n.º 2
0
# Manage the current language selected
$lang = $GLOBALS['lang'];
# Not really used because the anonymous account is always used
if (Auth::isAuth()) {
    $lang = Auth::getLanguage();
    # Special case to add synchro for changing temporary langue via the top control panel
    $re = new HttpRequest();
    $module = $re->getModule();
    $action = $re->getAction();
    if ($module == 'wall' && $action == 'index') {
        $args = $re->getArgs();
        if (isset($args['langage'])) {
            $availableLanguages = Util::getAvailableLanguages();
            if ($args['langage'] !== null && in_array($args['langage'], array_keys($availableLanguages))) {
                $_SESSION['globalLangage'] = $lang = $args['langage'];
            }
        }
    }
}
// internationalisation
l10n::init();
l10n::set(dirname(__FILE__) . '/locales/' . $lang . '/messages');
try {
    $re = new HttpRequest();
    $fc = new AdminEnabledDefaultFC($re);
    $fc->loadModule();
} catch (Exception $e) {
    $message = $e;
    header('HTTP/1.1 500 Internal Error');
    require_once DIR_VIEWS . $GLOBALS['dir_theme'] . "error404.tpl";
}
Ejemplo n.º 3
0
#  ClearBricks and DotClear classes auto-loader
if (@is_dir('/usr/lib/clearbricks')) {
    define('CLEARBRICKS_PATH', '/usr/lib/clearbricks');
} elseif (is_dir(dirname(__FILE__) . '/../../inc/libs/clearbricks')) {
    define('CLEARBRICKS_PATH', dirname(__FILE__) . '/../../inc/libs/clearbricks');
} elseif (isset($_SERVER['CLEARBRICKS_PATH']) && is_dir($_SERVER['CLEARBRICKS_PATH'])) {
    define('CLEARBRICKS_PATH', $_SERVER['CLEARBRICKS_PATH']);
}
if (!defined('CLEARBRICKS_PATH') || !is_dir(CLEARBRICKS_PATH)) {
    exit('No clearbricks path defined');
}
require CLEARBRICKS_PATH . '/_common.php';
# Loading locales for detected language
$dlang = http::getAcceptLanguage();
if ($dlang != 'en') {
    l10n::init($dlang);
    l10n::set(dirname(__FILE__) . '/../../locales/' . $dlang . '/main');
}
if (is_file(DC_RC_PATH)) {
    http::redirect('index.php');
}
if (!is_writable(dirname(DC_RC_PATH))) {
    $err = '<p>' . sprintf(__('Path <strong>%s</strong> is not writable.'), path::real(dirname(DC_RC_PATH))) . '</p>' . '<p>' . __('Dotclear installation wizard could not create configuration file for you. ' . 'You must change folder right or create the <strong>config.php</strong> ' . 'file manually, please refer to ' . '<a href="http://dotclear.org/documentation/2.0/admin/install">' . 'the documentation</a> to learn how to do this.') . '</p>';
}
$DBDRIVER = !empty($_POST['DBDRIVER']) ? $_POST['DBDRIVER'] : (function_exists('mysqli_connect') ? 'mysqli' : 'mysql');
$DBHOST = !empty($_POST['DBHOST']) ? $_POST['DBHOST'] : '';
$DBNAME = !empty($_POST['DBNAME']) ? $_POST['DBNAME'] : '';
$DBUSER = !empty($_POST['DBUSER']) ? $_POST['DBUSER'] : '';
$DBPASSWORD = !empty($_POST['DBPASSWORD']) ? $_POST['DBPASSWORD'] : '';
$DBPREFIX = !empty($_POST['DBPREFIX']) ? $_POST['DBPREFIX'] : 'dc_';
if (!empty($_POST)) {
Ejemplo n.º 4
0
 public function editPreferences()
 {
     // Note : because the number of parameters may vary in the future,
     // I will use $_POST to retrieve request params.
     $currentUser = Auth::getUserName();
     // -- Identifiers.
     $oldPassword = $_POST['old_password'];
     $newPassword = $_POST['new_password'];
     $confirmPassword = $_POST['new_password_confirm'];
     // OpenId
     $openId = isset($_POST['openid']) ? $_POST['openid'] : '';
     // -- I18n.
     $language = $_POST['language'];
     try {
         UsersManagement::updatePreferences(array('old_password' => $oldPassword, 'new_password' => $newPassword, 'confirm_password' => $confirmPassword, 'language' => $language, 'openid' => $openId, 'username' => $currentUser, 'userid' => Auth::getUserId()));
         // Don't forget to change the language before generating the message to
         // the user.
         $GLOBALS['lang'] = $language;
         l10n::init();
         l10n::set(dirname(__FILE__) . '/../locales/' . $GLOBALS['lang'] . '/messages');
         $_SESSION['isError'] = false;
         $_SESSION['message'] = __("Your preferences were successfuly changed.");
     } catch (PreferencesException $e) {
         $_SESSION['isError'] = true;
         $_SESSION['message'] = '';
         switch ($e->getCode()) {
             case PreferencesException::WRONG_OLD_PASSWORD:
                 $_SESSION['message'] = __("Wrong old password. Please try again.");
                 break;
             case PreferencesException::NEW_PASSWORD_TOO_SHORT:
                 $_SESSION['message'] = sprintf(__("The new password you provided is too short and must be at least composed of %s characters."), PASSWORDS_MIN_LENGTH);
                 break;
             case PreferencesException::NEW_PASSWORDS_DIFFERENT:
                 $_SESSION['message'] = __("The new and confirmation passwords are different. Please try again.");
                 break;
         }
     }
     DefaultFC::redirection('users/preferences');
 }