"Error",
E_WARNING => "Warning",
E_PARSE => "Parsing Error",
E_NOTICE => "Notice",
E_CORE_ERROR => "Core Error",
E_CORE_WARNING => "Core Warning",
E_COMPILE_ERROR => "Compile Error",
E_COMPILE_WARNING => "Compile Warning",
E_USER_ERROR => "User Error",
E_USER_WARNING => "User Warning",
E_USER_NOTICE => "User Notice",
E_STRICT => "Runtime Notice",
E_RECOVERABLE_ERROR => "Recoverable Error"
);
}
global $globals;
if (isset($globals) && !$globals->debug) {
if ($errno == E_NOTICE || $errno == E_USER_NOTICE || $errno == E_STRICT) {
return;
}
}
$type = isset($errortype[$errno]) ? $errortype[$errno] : $errno;
$errstr = utf8_encode(htmlentities($errstr));
$GLOBALS['pl_errors'][] =
"
".
"{$type} $errstr
".
"$errfile : $errline".
"
";
}
function pl_clear_errors()
{
unset($GLOBALS['pl_errors']);
}
function pl_dump_env()
{
echo "";
echo "\nSESSION: " . session_id(); var_dump($_SESSION);
echo "\nPOST: "; var_dump($_POST);
echo "\nGET: "; var_dump($_GET);
echo "\nCOOKIE: "; var_dump($_COOKIE);
echo "
";
}
function pl_print_errors()
{
if (!empty($GLOBALS['pl_errors'])) {
print join("\n", $GLOBALS['pl_errors']);
}
}
set_error_handler('pl_error_handler', E_ALL | E_STRICT);
register_shutdown_function('pl_print_errors');
//register_shutdown_function('pl_dump_env');
/** Check if the string is utf8
*/
function is_utf8($s)
{
return @iconv('utf-8', 'utf-8', $s) == $s;
}
/** vérifie si une adresse email est bien formatée * ATTENTION, cette fonction ne doit pas être appelée sur une chaîne ayant subit un addslashes (car elle accepte le "'" qui it alors un "\'"
* @param $email l'adresse email a verifier
* @return BOOL */
function isvalid_email($email)
{
// la rfc2822 authorise les caractères "a-z", "0-9", "!", "#", "$", "%", "&", "'", "*", "+", "-", "/", "=", "?", "^", `", "{", "|", "}", "~" aussi bien dans la partie locale que dans le domaine.
// Pour la partie locale, on réduit cet ensemble car il n'est pas utilisé.
// Pour le domaine, le système DNS limite à [a-z0-9.-], on y ajoute le "_" car il est parfois utilisé.
return preg_match("/^[a-z0-9_.'+-]+@[a-z0-9._-]+\.[a-z]{2,6}$/i", $email);
}
function pl_url($path, $query = null, $fragment = null)
{
global $platal;
$base = $platal->ns . $path . ($query ? '?'.$query : '');
return $fragment ? $base.'#'.$fragment : $base;
}
function pl_self($n = null) {
global $platal;
return $platal->pl_self($n);
}
function http_redirect($fullurl)
{
Platal::session()->close();
header('Location: '. $fullurl);
exit;
}
function pl_redirect($path, $query = null, $fragment = null)
{
global $globals;
http_redirect($globals->baseurl . '/' . pl_url($path, $query, $fragment));
}
function pl_entities($text, $mode = ENT_COMPAT)
{
return htmlentities($text, $mode, 'UTF-8');
}
function pl_entity_decode($text, $mode = ENT_COMPAT)
{
return html_entity_decode($text, $mode, 'UTF-8');
}
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
?>