コード例 #1
0
ファイル: maincore.php プロジェクト: php-fusion/PHP-Fusion
define("iSUPERADMIN", $userdata['user_level'] == -103 ? 1 : 0);
define("iUSER", $userdata['user_level']);
define("iUSER_RIGHTS", $userdata['user_rights']);
define("iUSER_GROUPS", substr($userdata['user_groups'], 1));
// Get enabled language settings
$language_opts = fusion_get_enabled_languages();
$enabled_languages = array_keys($language_opts);
// If language change is initiated and if the selected language is valid
if (isset($_GET['lang']) && valid_language($_GET['lang'])) {
    $lang = stripinput($_GET['lang']);
    set_language($lang);
    $redirectPath = clean_request("", array("lang"), FALSE);
    redirect($redirectPath);
}
// Main language detection procedure
if (iMEMBER && valid_language($userdata['user_language'])) {
    define("LANGUAGE", $userdata['user_language']);
    define("LOCALESET", $userdata['user_language'] . "/");
} else {
    $data = dbarray(dbquery("SELECT * FROM " . DB_LANGUAGE_SESSIONS . " WHERE user_ip='" . USER_IP . "'"));
    if ($data['user_language']) {
        define("LANGUAGE", $data['user_language']);
        define("LOCALESET", $data['user_language'] . "/");
    }
}
// Check if definitions have been set, if not set the default language to system language
if (!defined("LANGUAGE")) {
    define("LANGUAGE", $settings['locale']);
    define("LOCALESET", $settings['locale'] . "/");
}
// Language detection hub for multilingual content, detect, set correct language if it is not set
コード例 #2
0
ファイル: redirect.php プロジェクト: p2ska/mass
<?php

define("dVALID", true);
define("CHECK_TEMPLATE", true);
require_once "include/functions.php";
require_once "include/init.php";
$v = new stdClass();
// puhasta url
evaluate_url();
// siia mingi inputi valideerimine
define("FORCED_LANG", $_GET["lang"]);
$ex = explode(SLASH, $_GET["page"]);
if (valid_language($ex[0])) {
    array_shift($ex);
}
$page = implode(SLASH, $ex);
$subpages = false;
// kas selline leht on olemas?
$lang_page = language_oriented(PAGES, $page . PHP);
if ($lang_page) {
    require_once PATH . PAGES . SLASH . FORCED_LANG . SLASH . $page . PHP;
} elseif (file_exists(PATH . PAGES . SLASH . $page . PHP)) {
    require_once PATH . PAGES . SLASH . $page . PHP;
}
set_template($page);
$lang_template = language_oriented(TEMPLATES, TEMPLATE . TWIG);
// anna tagasi mille pihta kasutaja suunata
if ($lang_template) {
    echo substr($lang_template . SLASH . TEMPLATE, 1);
} elseif (file_exists(PATH . TEMPLATES . SLASH . TEMPLATE . TWIG)) {
    if (TEMPLATE == LANDING_PAGE) {
コード例 #3
0
ファイル: index.php プロジェクト: php-fusion/PHP-Fusion
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
require_once "maincore.php";
$settings = fusion_get_settings();
if ($settings['site_seo'] == "1" && !isset($_GET['aid'])) {
    define("IN_PERMALINK", TRUE);
    $router = new PHPFusion\Rewrite\Router();
    $router->rewritePage();
    $filepath = $router->getFilePath();
    if (empty($filepath) && filter_var(PERMALINK_CURRENT_PATH, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED)) {
        redirect(PERMALINK_CURRENT_PATH);
    } else {
        if (isset($_GET['lang']) && valid_language($_GET['lang'])) {
            $lang = stripinput($_GET['lang']);
            set_language($lang);
            $redirectPath = clean_request("", array("lang"), FALSE);
            redirect($redirectPath);
        } else {
            if (isset($_GET['logout']) && $_GET['logout'] == "yes") {
                $userdata = Authenticate::logOut();
                redirect(BASEDIR . "index.php");
            } else {
                if (!empty($filepath)) {
                    if ($filepath == "index.php") {
                        redirect($settings['opening_page']);
                    } else {
                        require_once $filepath;
                    }
コード例 #4
0
<?php

function valid_language($language)
{
    $valid_languages = array("chinglish", "traditional_chinese");
    return in_array($language, $valid_languages);
}
$lang = valid_language($_GET['lang']) ? $_GET['lang'] : "traditional_chinese";
require_once "./language/" . $lang . ".inc.php";
コード例 #5
0
ファイル: functions.php プロジェクト: p2ska/mass
function import_translations($file, $force_lang = false)
{
    $l = new stdClass();
    // olemasolevad keeled
    $languages = explode(";", TR_LANGUAGES);
    // kui sessioonis ei ole keelt veel määratud, siis määra default (force_lang seda ei määra)
    if (!isset($_SESSION["lang"])) {
        $_SESSION["lang"] = TR_DEFAULT;
    }
    $lang = $_SESSION["lang"];
    // override sessiooni/default keel
    if ($force_lang && valid_language($force_lang)) {
        $lang = $force_lang;
    }
    // mitmes vaste tõlgetes on hetkekeele oma?
    $lang_pos = array_search($lang, $languages);
    $content = file_get_contents($file);
    $translations = explode(TR_SEPARATOR, $content);
    foreach ($translations as $line) {
        $line = trim($line);
        // kui stringis pole määratud eraldajat, siis ignoori
        if (strpos($line, TR_VAR) == false) {
            continue;
        }
        // löö tõlkerida laiali
        $ex = explode(TR_VAR, $line);
        $vx = explode(LN, $ex[0]);
        // viimane string massiivis on muutujanimi (kui esines reavahetusi (seoses keelefaili kommentaaridega jms))
        $var = trim(array_pop($vx));
        // mõlemad keelestringid
        $val = explode(TR_LANG, $ex[1]);
        // pikemate tõlgete jaoks proovi lahti lõhkuda ja trimmida ning seejärel uuesti kokku panna
        // tegelt see on vist ebavajalik üldse - võib ju jätta kõik need tabid või tühikud sisse
        /*
        $ex = explode(LN, $vx);
        $val = array();
        
        foreach ($ex as $ln)
        	$val[] = trim($ln);
        
        $val = implode("\n", $val);
        */
        // pane valitud keelele vastava positsiooniga keelestring objekti ja trimmi
        $l->{TR_PRE . $var} = trim($val[$lang_pos]);
    }
    return $l;
}
コード例 #6
0
ファイル: clilib.php プロジェクト: nicolasconnault/moodle2.0
/**
 * Validate options values 
 *
 * @param array $options
 */
function validate_option_values($options)
{
    $values = array();
    $i = 0;
    foreach ($options as $val) {
        $values[$i++] = $val;
    }
    if (isset($values['lang'])) {
        if (!valid_language($values['lang'])) {
            console_write_error('invalidvalueforlanguage');
            console_write("\n", '', false);
        }
    }
    if (isset($values['webdir'])) {
        /**
         * @todo check valid directory path
         */
    }
    if (isset($values['webaddr'])) {
        /**
         * @todo check valid http url
         */
    }
    if (isset($values['moodledir'])) {
        /**
         * @todo check valid directory path
         */
    }
    if (isset($values['datadir'])) {
        /**
         * @todo check valid directory path
         */
    }
    if (isset($values['dbtype'])) {
        $dbtypes = array('mysql', 'oci8po', 'postgres7', 'mssql', 'mssql_n', 'odbc_mssql');
        if (!in_array($values['dbtype'], $dbtypes)) {
            console_write_error('invaliddbtype');
        }
    }
    if (isset($values['dbhost'])) {
        /**
         * @todo check host?
         */
    }
    if (isset($values['dbname'])) {
        /**
         * @todo check name for valid ones if required
         */
    }
    if (isset($values['dbuser'])) {
        /**
         * @todo check validity of db user if required
         */
    }
    if (isset($values['dbpass'])) {
        /**
         * @todo check validity of database password if required 
         */
    }
    if (isset($values['prefix'])) {
        /**
         * @todo check for valid prefix
         */
    }
    if (isset($values['sitefullname'])) {
        /**
         * @todo check for valid fullname for site
         */
    }
    if (isset($values['siteshortname'])) {
        /**
         * @todo check for valid short name for site
         */
    }
    if (isset($values['sitesummary'])) {
        /**
         * @todo check for valid summary
         */
    }
    if (isset($values['sitenewsitems'])) {
        /**
         * @todo check for valid news items
         */
    }
    if (isset($values['adminfirstname'])) {
        /**
         * @todo check for valid admin first name
         */
    }
    if (isset($values['adminlastname'])) {
        /**
         * @todo check for valid last name
         */
    }
    if (isset($values['adminusername'])) {
        /**
         * @todo check for valid username
         */
    }
    if (isset($values['adminpassword'])) {
        /**
         * @todo check for valid password
         */
    }
    if (isset($values['adminemail'])) {
        /**
         * @todo check for valid email
         */
    }
    if (isset($values['verbose'])) {
        if (!valid_int_range($values['verbose'], CLI_NO, CLI_FULL)) {
            console_write_error('invalidverbosevalue');
        }
    }
    if (isset($values['interactivelevel'])) {
        if (!valid_int_range($values['verbose'], CLI_NO, CLI_FULL)) {
            console_write_error('invalidinteractivevalue');
        }
    }
    if (isset($values['help'])) {
        /**
         * @todo  nothing really
         */
    }
}