function pl_autoload($cls, array $pathes = array())
{
$cls = strtolower($cls);
+ if (substr($cls, 0, 3) == 'xdb') {
+ $cls = 'xdb';
+ }
$basepath = dirname(dirname(dirname(__FILE__)));
array_unshift($pathes, 'core/classes', 'classes');
foreach ($pathes as $path) {
- if (@include_once "$basepath/$path/$cls.php") {
- return true;
+ if (file_exists("$basepath/$path/$cls.php")) {
+ if (include_once "$basepath/$path/$cls.php") {
+ return true;
+ }
}
}
return false;
$type = isset($errortype[$errno]) ? $errortype[$errno] : $errno;
$errstr = utf8_encode(htmlentities($errstr));
if (php_sapi_name() == 'cli') {
- $GLOBALS['pl_errors'] = "$type: $errstr\n $errfile:$errfile\n";
+ $GLOBALS['pl_errors'] = "$type: $errstr\n $errfile:$errline\n";
} else {
$GLOBALS['pl_errors'][] =
"<div class='phperror'>".
return html_entity_decode($text, $mode, 'UTF-8');
}
+function pl_flatten_aux(array &$dest, array $src)
+{
+ foreach ($src as $val) {
+ if (is_array($val)) {
+ pl_flatten_aux($dest, $val);
+ } else {
+ $dest[] = $val;
+ }
+ }
+}
+
+function pl_flatten(array $array)
+{
+ $res = array();
+ pl_flatten_aux($res, $array);
+ return $res;
+}
+
/**
* Returns the path of a static content, including, when appropriate, the
* version number. This is used to avoid cross-version cache issues, by ensuiring