Esempio n. 1
0
 /**
  * Pass one or more arguments which will be checked until one fails
  * If atleast one argument is not a non-empty string, or if no arguments / NULL passed
  * it will return false, otherwise true;
  */
 public static function nonEmptyStrs()
 {
     $args = func_get_args();
     if (!isset($args[0])) {
         return false;
     }
     foreach ($args as $arg) {
         if (!TsIntuitionUtil::nonEmptyStr($arg)) {
             return false;
         }
     }
     // If we're still here, all are good
     return true;
 }
 /**
  * @dataProvider provideNonEmptyStr
  */
 public function testNonEmptyStr($bool, $input)
 {
     $this->assertSame(TsIntuitionUtil::nonEmptyStr($input), $bool);
 }
Esempio n. 3
0
 /**
  * Load a textdomain (if not loaded already).
  *
  * @param $domain string Name of the textdomain (case-insensitive)
  * @return False on error, (normalized) domainname if success.
  */
 public function loadTextdomain($domain)
 {
     // Generally validate input and protect against path traversal
     if (!TsIntuitionUtil::nonEmptyStr($domain) || strcspn($domain, ":/\\") !== strlen($domain)) {
         $this->errTrigger("Invalid textdomain \"{$domain}\"", __METHOD__, E_NOTICE);
         return false;
     }
     // Normalise domain name (case-insensitive)
     $domain = strtolower($domain);
     // Don't load if already loaded
     if (isset($this->loadedTextdomains[$domain])) {
         return $domain;
     }
     // Error out if unregistered
     if (!isset($this->registeredTextdomains[$domain])) {
         return false;
     }
     // File exists ?
     $path = $this->localBaseDir . "/language/messages/" . $this->registeredTextdomains[$domain];
     if (!file_exists($path)) {
         $this->errTrigger("Textdomain file not found for \"{$domain}\" at {$path}. Ignoring", __METHOD__, E_NOTICE, __FILE__, __LINE__);
         return false;
     }
     // Load it
     $load = $this->loadTextdomainFromFile($path, $domain);
     // Return (normalized) domainname or false
     return !!$load ? $domain : false;
 }
Esempio n. 4
0
            $I18N->redirectTo($Tool->generatePermalink(array('msg' => 3)), 302);
            break;
    }
}
/**
 * Custom return to
 * -------------------------------------------------
 */
// Tools can pass returnto and returntoquery parameters
// to redirect visitors back to them after setting, changing
// or doing something (eg. clearcookies, renewcookies or prefset)
if ($I18N->isRedirecting()) {
    $returnTo = $kgReq->getVal('returnto');
    $returnToQuery = $kgReq->getVal('returntoquery');
    if (TsIntuitionUtil::nonEmptyStr($returnTo)) {
        if (TsIntuitionUtil::nonEmptyStr($returnToQuery)) {
            $returnToQuery = '?' . urldecode($returnToQuery);
        } else {
            $returnToQuery = '';
        }
        $I18N->redirectTo("//{$_SERVER['SERVER_NAME']}{$returnTo}{$returnToQuery}", 302);
    }
}
$I18N->doRedirect();
/**
 * Main content output
 * -------------------------------------------------
 */
$Tool->addOut(_g('welcome'), 'h2');
// Messages ?
if (isset($_GET['msg'])) {
Esempio n. 5
0
<?php

/* Config */
require_once 'demoBase.php';
/* Demonstration */
// 1) Init $I18N
$I18N = new TsIntuition('general');
// 2) Do it
// Simple parentheses
echo $I18N->parentheses('hello');
// Variables
echo '<br/>' . $I18N->msg('toolversionstamp', array('variables' => array('1.0', $I18N->dateFormatted('2001-01-15'))));
// msgExists
echo '<br/>msgExists: ';
var_dump($I18N->msgExists('welcome'));
var_dump($I18N->msgExists('foobar'));
// nonEmptyStr
echo '<br/>nonEmptyStr: ';
var_dump(TsIntuitionUtil::nonEmptyStr('one'));
// nonEmptyStrs
echo '<br/>nonEmptyStrs: ';
var_dump(TsIntuitionUtil::nonEmptyStrs('one', '', 'three'));
var_dump(TsIntuitionUtil::nonEmptyStrs('one', 'three'));
// GetAcceptableLanguages
echo "<br/>getAcceptableLanguages: (default: \$_SERVER['HTTP_ACCEPT_LANGUAGE']: " . htmlspecialchars($_SERVER['HTTP_ACCEPT_LANGUAGE']) . "):<br/>";
var_dump(TsIntuitionUtil::getAcceptableLanguages($_SERVER['HTTP_ACCEPT_LANGUAGE']));
$acceptLang = 'nl-be,nl;q=0.7,en-us,en;q=0.3';
echo "<br/>getAcceptableLanguages: ( '{$acceptLang}' ):<br/>";
var_dump(TsIntuitionUtil::getAcceptableLanguages($acceptLang));
/* View source */
closeDemo(__FILE__);