diff --git a/www/admin/class_test.array.php b/www/admin/class_test.array.php index 4cb8ed3c..3dcc7412 100644 --- a/www/admin/class_test.array.php +++ b/www/admin/class_test.array.php @@ -27,6 +27,7 @@ $LOG_FILE_ID = 'classTest-array'; ob_end_flush(); use CoreLibs\Combined\ArrayHandler; +use CoreLibs\Debug\Support as DgS; $basic = new CoreLibs\Basic(); // $_array= new CoreLibs\Combined\ArrayHandler(); @@ -37,24 +38,30 @@ print "
"; print ''; // recursive array search -$test_array = array( +$test_array = [ 'foo' => 'bar', - 'input' => array( - 'element_a' => array( + 'input' => [ + 'element_a' => [ 'type' => 'text' - ), - 'element_b' => array( + ], + 'element_b' => [ 'type' => 'email' - ), - 'element_c' => array( + ], + 'element_c' => [ 'type' => 'email' - ) - ) -); + ], + ], +]; -echo "SOURCE ARRAY: ".$basic->printAr($test_array)." tag added
- * DEPRCATE LATER
- * @_deprecated Use \CoreLibs\Debug\Support::printAr() instead
+ * DEPRCATE HARD LATER
+ * @deprecated Use \CoreLibs\Debug\Support::printAr() instead
*/
public static function printAr(array $array): string
{
@@ -1336,10 +1326,10 @@ class Basic
* converts RGB to HSB/V values
* returns:
* array with hue (0-360), sat (0-100%), brightness/value (0-100%)
- * @param int $r red 0-255
- * @param int $g green 0-255
- * @param int $b blue 0-255
- * @return array Hue, Sat, Brightness/Value
+ * @param int $red red 0-255
+ * @param int $green green 0-255
+ * @param int $blue blue 0-255
+ * @return array Hue, Sat, Brightness/Value
* @deprecated use \CoreLibs\Convert\Colors::rgb2hsb() instead
*/
public static function rgb2hsb(int $red, int $green, int $blue): array
@@ -1571,7 +1561,7 @@ class Basic
public function mimeSetAppName(string $mime, string $app): void
{
trigger_error('Method '.__METHOD__.' is deprecated, use \CoreLibs\Convert\MimeAppName()->mimeSetAppName()', E_USER_DEPRECATED);
- $this->mime->mimeSetAppName($mime, $app);
+ \CoreLibs\Convert\MimeAppName::mimeSetAppName($mime, $app);
}
/**
@@ -1584,7 +1574,7 @@ class Basic
public function mimeGetAppName(string $mime): string
{
trigger_error('Method '.__METHOD__.' is deprecated, use \CoreLibs\Convert\MimeAppName()->mimeGetAppName()', E_USER_DEPRECATED);
- return $this->mime->mimeGetAppName($mime);
+ return \CoreLibs\Convert\MimeAppName::mimeGetAppName($mime);
}
// *** MIME PARTS END ***
diff --git a/www/lib/CoreLibs/Combined/ArrayHandler.php b/www/lib/CoreLibs/Combined/ArrayHandler.php
index aad6c816..2f93b775 100644
--- a/www/lib/CoreLibs/Combined/ArrayHandler.php
+++ b/www/lib/CoreLibs/Combined/ArrayHandler.php
@@ -19,9 +19,9 @@ class ArrayHandler
*/
public static function arraySearchRecursive($needle, array $haystack, ?string $key_lookin = null): array
{
- $path = array();
+ $path = [];
if (!is_array($haystack)) {
- $haystack = array();
+ $haystack = [];
}
if ($key_lookin != null &&
!empty($key_lookin) &&
@@ -72,21 +72,21 @@ class ArrayHandler
{
// init if not set on null
if ($path === null) {
- $path = array(
+ $path = [
'level' => 0,
- 'work' => array()
- );
+ 'work' => []
+ ];
}
// init sub sets if not set
if (!isset($path['level'])) {
$path['level'] = 0;
}
if (!isset($path['work'])) {
- $path['work'] = array();
+ $path['work'] = [];
}
// should not be needed because it would trigger a php mehtod error
if (!is_array($haystack)) {
- $haystack = array();
+ $haystack = [];
}
// @phan HACK
@@ -112,7 +112,7 @@ class ArrayHandler
}
// @phan HACK
$path['level'] = $path['level'] ?? 0;
- $path['work'] = $path['work'] ?? array();
+ $path['work'] = $path['work'] ?? [];
// cut all that is >= level
array_splice($path['work'], $path['level']);
// step back a level
@@ -130,7 +130,7 @@ class ArrayHandler
public static function arraySearchSimple(array $array, $key, $value): bool
{
if (!is_array($array)) {
- $array = array();
+ $array = [];
}
foreach ($array as $_key => $_value) {
// if value is an array, we search
@@ -177,7 +177,7 @@ class ArrayHandler
trigger_error(__FUNCTION__.' needs two or more array arguments', E_USER_WARNING);
return false;
}
- $merged = array();
+ $merged = [];
while ($arrays) {
$array = array_shift($arrays);
if (!is_array($array)) {
@@ -234,7 +234,7 @@ class ArrayHandler
if (!is_array($haystack)) {
return false;
}
- $found = array();
+ $found = [];
foreach ($needle as $element) {
if (in_array($element, $haystack)) {
$found[] = $element;
@@ -257,7 +257,7 @@ class ArrayHandler
*/
public static function genAssocArray(array $db_array, $key, $value, bool $set_only = false): array
{
- $ret_array = array();
+ $ret_array = [];
// do this to only run count once
for ($i = 0, $iMax = count($db_array); $i < $iMax; $i ++) {
// if no key then we make an order reference
@@ -283,7 +283,7 @@ class ArrayHandler
*/
public static function flattenArray(array $array): array
{
- $return = array();
+ $return = [];
array_walk_recursive(
$array,
function ($value) use (&$return) {
@@ -298,13 +298,13 @@ class ArrayHandler
* @param array $array multidemnsional array to flatten
* @return array flattened keys array
*/
- public static function flattenArrayKey(array $array/*, array $return = array()*/): array
+ public static function flattenArrayKey(array $array): array
{
- $return = array();
+ $return = [];
array_walk_recursive(
$array,
function ($value, $key) use (&$return) {
- $return [] = $key;
+ $return[] = $key;
}
);
return $return;
@@ -320,7 +320,7 @@ class ArrayHandler
public static function arrayFlatForKey(array $array, $search): array
{
if (!is_array($array)) {
- $array = array();
+ $array = [];
}
foreach ($array as $key => $value) {
// if it is not an array do just nothing
diff --git a/www/lib/CoreLibs/Combined/DateTime.php b/www/lib/CoreLibs/Combined/DateTime.php
index a705dfd7..dcabdeaa 100644
--- a/www/lib/CoreLibs/Combined/DateTime.php
+++ b/www/lib/CoreLibs/Combined/DateTime.php
@@ -42,7 +42,7 @@ class DateTime
if ((int)$timestamp < 0) {
$negative = true;
}
- $timestamp = abs($timestamp);
+ $timestamp = abs((float)$timestamp);
$timegroups = [86400, 3600, 60, 1];
$labels = ['d', 'h', 'm', 's'];
$time_string = '';
diff --git a/www/lib/CoreLibs/Convert/Colors.php b/www/lib/CoreLibs/Convert/Colors.php
index 9699ffe6..971d7ae7 100644
--- a/www/lib/CoreLibs/Convert/Colors.php
+++ b/www/lib/CoreLibs/Convert/Colors.php
@@ -227,7 +227,7 @@ class Colors
} else {
$sat = $chroma / (1 - abs(2 * $lum - 1));
if ($max == $red) {
- $hue = fmod((($green - $blue) / $chrome), 6);
+ $hue = fmod((($green - $blue) / $chroma), 6);
if ($hue < 0) {
$hue = (6 - fmod(abs($hue), 6));
}
@@ -248,10 +248,10 @@ class Colors
/**
* converts an HSL to RGB
- * @param int $h hue: 0-360 (degrees)
- * @param float $s saturation: 0-100
- * @param float $l luminance: 0-100
- * @return array red/blue/green 0-255 each
+ * @param int $hue hue: 0-360 (degrees)
+ * @param float $sat saturation: 0-100
+ * @param float $lum luminance: 0-100
+ * @return array red/blue/green 0-255 each
*/
public static function hsl2rgb(int $hue, float $sat, float $lum): array
{
diff --git a/www/lib/CoreLibs/Convert/MimeAppName.php b/www/lib/CoreLibs/Convert/MimeAppName.php
index d8264e87..e4d5db36 100644
--- a/www/lib/CoreLibs/Convert/MimeAppName.php
+++ b/www/lib/CoreLibs/Convert/MimeAppName.php
@@ -9,25 +9,14 @@ namespace CoreLibs\Convert;
class MimeAppName
{
- private $mime_apps= [];
+ private static $mime_apps = [];
/**
* constructor: init mime list
*/
public function __construct()
{
- $this->mimeInitApps();
- }
-
- /**
- * init array for mime type to application name lookup
- * @return void
- */
- private function mimeInitApps(): void
- {
- // match mime type to some application description
- // this is NOT translated
- $this->mime_apps = [
+ self::$mime_apps = [
// zip
'application/zip' => 'Zip File',
// Powerpoint
@@ -67,9 +56,9 @@ class MimeAppName
* @param string $app Applicaiton name
* @return void
*/
- public function mimeSetAppName(string $mime, string $app): void
+ public static function mimeSetAppName(string $mime, string $app): void
{
- $this->mime_apps[$mime] = $app;
+ self::$mime_apps[$mime] = $app;
}
/**
@@ -78,9 +67,9 @@ class MimeAppName
* @param string $mime MIME Name
* @return string Application name matching
*/
- public function mimeGetAppName(string $mime): string
+ public static function mimeGetAppName(string $mime): string
{
- return $this->mime_apps[$mime] ?? 'Other file';
+ return self::$mime_apps[$mime] ?? 'Other file';
}
}
diff --git a/www/lib/CoreLibs/DB/Extended/ArrayIO.php b/www/lib/CoreLibs/DB/Extended/ArrayIO.php
index c198b429..ecd6284d 100644
--- a/www/lib/CoreLibs/DB/Extended/ArrayIO.php
+++ b/www/lib/CoreLibs/DB/Extended/ArrayIO.php
@@ -10,14 +10,6 @@
* table from the connected DB.
* you don't have to write any SQL queries, worry over update/insert
*
-* PUBLIC VARIABLES
-*
-* PRIVATE VARIABLES
-*
-* PUBLIC METHOD:S
-*
-* PRIVATE METHOD:S
-*
* HISTORY:
* 2019/9/11 (cs) error string 21->91, 22->92 for not overlapping with IO
* 2005/07/07 (cs) updated array class for postgres: set 0 & NULL if int field given, insert uses () values () syntax
@@ -105,11 +97,6 @@ class ArrayIO extends \CoreLibs\DB\IO
return $text;
}
- // METHOD: convertEntities
- // WAS : convert_entities
- // PARAMS: string -> string to be changed
- // RETURN: string -> altered string
- // DESC : changeds all HTML entities into non HTML ones
/**
* changeds all HTML entities into non HTML ones
* @param string $text encoded html string
@@ -139,7 +126,7 @@ class ArrayIO extends \CoreLibs\DB\IO
}
// add output to internal error_msg
if ($write === true) {
- $this->error_msg['db'] .= $string;
+ $this->__dbDebug('dbArray', $string);
}
return $string;
}
@@ -188,7 +175,7 @@ class ArrayIO extends \CoreLibs\DB\IO
* set this as new table array too
* @return array returns the table array that was deleted
*/
- public function dbDelete($table_array = array())
+ public function dbDelete($table_array = [])
{
// is array and has values, override set and set new
if (is_array($table_array) && count($table_array)) {
@@ -247,7 +234,7 @@ class ArrayIO extends \CoreLibs\DB\IO
* @param array $table_array optional table array, overwrites internal set array
* @return array set table array with values
*/
- public function dbRead($edit = false, $table_array = array())
+ public function dbRead($edit = false, $table_array = [])
{
// if array give, overrules internal array
if (is_array($table_array) && count($table_array)) {
@@ -320,7 +307,7 @@ class ArrayIO extends \CoreLibs\DB\IO
* @param array $table_array optional table array, overwrites internal one
* @return array table array or null
*/
- public function dbWrite($addslashes = false, $table_array = array())
+ public function dbWrite($addslashes = false, $table_array = [])
{
if (is_array($table_array) && count($table_array)) {
$this->table_array = $table_array;
diff --git a/www/lib/CoreLibs/DB/IO.php b/www/lib/CoreLibs/DB/IO.php
index 5fd1280c..c684d834 100644
--- a/www/lib/CoreLibs/DB/IO.php
+++ b/www/lib/CoreLibs/DB/IO.php
@@ -278,7 +278,7 @@ class IO extends \CoreLibs\Basic
// other vars
private $nbsp = ''; // used by print_array recursion function
// error & warning id
- // not error_id is defined in \CoreLibs\Basic
+ protected $error_id;
private $had_error;
private $warning_id;
private $had_warning;
@@ -535,7 +535,7 @@ class IO extends \CoreLibs\Basic
* @param string $type query identifier (Q, I, etc)
* @return void has no return
*/
- private function __dbDebug(string $debug_id, string $error_string, string $id = '', string $type = ''): void
+ protected function __dbDebug(string $debug_id, string $error_string, string $id = '', string $type = ''): void
{
$prefix = '';
if ($id) {
@@ -562,7 +562,7 @@ class IO extends \CoreLibs\Basic
public function __dbError($cursor = false, string $msg = ''): void
{
$pg_error_string = '';
- $where_called = (string)$this->getCallerMethod();
+ $where_called = (string)\CoreLibs\Debug\Support::getCallerMethod();
if ($cursor) {
$pg_error_string = $this->db_functions->__dbPrintError($cursor);
}
@@ -1115,7 +1115,7 @@ class IO extends \CoreLibs\Basic
$md5 = md5($query);
// pre declare array
if (!isset($this->cursor_ext[$md5])) {
- $this->cursor_ext[$md5] = array(
+ $this->cursor_ext[$md5] = [
'query' => '',
'pos' => 0,
'cursor' => 0,
@@ -1123,7 +1123,7 @@ class IO extends \CoreLibs\Basic
'num_rows' => 0,
'num_fields' => 0,
'read_rows' => 0
- );
+ ];
}
// set the query
$this->cursor_ext[$md5]['query'] = $query;
@@ -1624,7 +1624,7 @@ class IO extends \CoreLibs\Basic
}
$result = $this->db_functions->__dbExecute($stm_name, $data);
if (!$result) {
- $this->debug('ExecuteData', 'ERROR in STM['.$stm_name.'|'.$this->prepare_cursor[$stm_name]['result'].']: '.$this->printAr($data));
+ $this->debug('ExecuteData', 'ERROR in STM['.$stm_name.'|'.$this->prepare_cursor[$stm_name]['result'].']: '.\CoreLibs\Debug\Support::printAr($data));
$this->error_id = 22;
$this->__dbError($this->prepare_cursor[$stm_name]['result']);
$this->__dbDebug('db', 'DB-Error '.$stm_name.': Execution failed', 'DB_ERROR');
@@ -1868,10 +1868,10 @@ class IO extends \CoreLibs\Basic
array $data = []
) {
if (!is_array($primary_key)) {
- $primary_key = array(
+ $primary_key = [
'row' => $table.'_id',
'value' => $primary_key
- );
+ ];
} else {
if (!isset($primary_key['row'])) {
$primary_key['row'] = '';
diff --git a/www/lib/CoreLibs/DB/SQL/PgSQL.php b/www/lib/CoreLibs/DB/SQL/PgSQL.php
index 1f7df192..f476ffa8 100644
--- a/www/lib/CoreLibs/DB/SQL/PgSQL.php
+++ b/www/lib/CoreLibs/DB/SQL/PgSQL.php
@@ -266,7 +266,7 @@ class PgSQL
if ($q = $this->__dbQuery($q)) {
list($id) = $this->__dbFetchArray($q);
} else {
- $id = array(-1, $q);
+ $id = [-1, $q];
}
return $id;
}
@@ -444,7 +444,7 @@ class PgSQL
{
if (false === $limit) {
$limit = strlen($text) - 1;
- $output = array();
+ $output = [];
}
if ('{}' != $text) {
do {
diff --git a/www/lib/CoreLibs/Debug/Logging.php b/www/lib/CoreLibs/Debug/Logging.php
index 14feaa3f..c47443f2 100644
--- a/www/lib/CoreLibs/Debug/Logging.php
+++ b/www/lib/CoreLibs/Debug/Logging.php
@@ -308,12 +308,14 @@ class Logging
*/
public function debugFor(string $type, string $flag): void
{
+ /** @phan-suppress-next-line PhanTypeMismatchArgumentReal */
$this->setLogLevel(...[func_get_args()]);
}
/**
* passes list of level names, to turn on debug
* eg $foo->debugFor('print', 'on', ['LOG', 'DEBUG', 'INFO']);
+ * TODO: currently we can only turn ON
* @param string $type debug, echo, print
* @param string $flag on/off
* array $array of levels to turn on/off debug
@@ -342,13 +344,13 @@ class Logging
/**
* return the log level for the array type normal and not (disable)
- * @param string $type debug, echo, print
- * @param string $flag on/off
- * @param string $level if not null then check if this array entry is set
- * else return false
- * @return bool|array if $level is null, return array, else boolean true/false
+ * @param string $type debug, echo, print
+ * @param string $flag on/off
+ * @param string|null $level if not null then check if this array entry is set
+ * else return false
+ * @return bool|array if $level is null, return array, else boolean true/false
*/
- public function getLogLevel(string $type, string $flag, string $level = null)
+ public function getLogLevel(string $type, string $flag, ?string $level = null)
{
// abort if not valid type
if (!in_array($type, ['debug', 'echo', 'print'])) {
@@ -367,6 +369,37 @@ class Logging
return $this->{$switch};
}
+ /**
+ * set flags for per log level type
+ * - level: set per sub group level
+ * - class: split by class
+ * - page: split per page called
+ * - run: for each run
+ * @param string $type Type to get: level, class, page, run
+ * @param bool $set True or False
+ * @return void
+ */
+ public function setLogPer(string $type, bool $set): void
+ {
+ if (!in_array($type, ['level', 'class', 'page', 'run'])) {
+ return;
+ }
+ $this->{'log_per'.$type} = $set;
+ }
+
+ /**
+ * return current set log per flag in bool
+ * @param string $type Type to get: level, class, page, run
+ * @return bool True of false for turned on or off
+ */
+ public function getLogPer(string $type): bool
+ {
+ if (!in_array($type, ['level', 'class', 'page', 'run'])) {
+ return false;
+ }
+ return $this->{'log_per'.$type};
+ }
+
/**
* write debug data to error_msg array
* @param string $level id for error message, groups messages together
diff --git a/www/lib/CoreLibs/Output/Form/Generate.php b/www/lib/CoreLibs/Output/Form/Generate.php
index 49300506..1cd52fdf 100644
--- a/www/lib/CoreLibs/Output/Form/Generate.php
+++ b/www/lib/CoreLibs/Output/Form/Generate.php
@@ -1035,12 +1035,12 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
}
break;
case 'date': // YYYY-MM-DD
- if (!$this->checkDate($this->table_array[$key]['value'])) {
+ if (!\CoreLibs\Combined\DateTime::checkDate($this->table_array[$key]['value'])) {
$this->msg .= sprintf($this->l->__('Please enter a vailid date (YYYY-MM-DD) for the %s Field!
'), $this->table_array[$key]['output_name']);
}
break;
case 'time': // HH:MM[:SS]
- if (!$this->checkDateTime($this->table_array[$key]['value'])) {
+ if (!\CoreLibs\Combined\DateTime::checkDateTime($this->table_array[$key]['value'])) {
$this->msg .= sprintf($this->l->__('Please enter a vailid time (HH:MM[:SS]) for the %s Field!
'), $this->table_array[$key]['output_name']);
}
break;
@@ -1198,7 +1198,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
// $this->log->debug('edit_error_chk', 'KEY: $prfx$key | count: '.count($_POST[$prfx.$key]).' | M: $max');
// $this->log->debug('edit_error_chk', 'K: '.$_POST[$prfx.$key].' | '.$_POST[$prfx.$key][0]);
}
- $this->log->debug('POST ARRAY', $this->printAr($_POST));
+ $this->log->debug('POST ARRAY', \CoreLibs\Debug\Support::printAr($_POST));
// init variables before inner loop run
$mand_okay = 0;
$mand_name = '';
@@ -1503,7 +1503,7 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
if (isset($this->table_array[$key]['type']) && $this->table_array[$key]['type'] == 'password') {
if ($this->table_array[$key]['value']) {
// use the better new passwordSet instead of crypt based
- $this->table_array[$key]['value'] = $this->passwordSet($this->table_array[$key]['value']);
+ $this->table_array[$key]['value'] = \CoreLibs\Check\Password::passwordSet($this->table_array[$key]['value']);
$this->table_array[$key]['HIDDEN_value'] = $this->table_array[$key]['value'];
} else {
// $this->table_array[$key]['HIDDEN_value'] =
@@ -1715,11 +1715,10 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
$this->msg = $this->l->__('Dataset has been saved!
');
}
- // METHOD: formDeleteTableArray
- // WAS : form_delete_table_array
- // PARAMS: none
- // RETURN: none
- // DESC : delete a table and reference fields
+ /**
+ * delete a table and reference fields
+ * @return void
+ */
public function formDeleteTableArray()
{
// remove any reference arrays
@@ -1759,12 +1758,12 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
$this->msg = $this->l->__('Dataset has been deleted!');
}
- // METHOD: formCreateHiddenFields
- // WAS : form_create_hidden_fields
- // PARAMS: $hidden_array
- // RETURN: the input fields (html)
- // DESC : creates HTML hidden input fields out of an hash array
- public function formCreateHiddenFields($hidden_array = [])
+ /**
+ * creates HTML hidden input fields out of an hash array
+ * @param array $hidden_array The list of fields to be added as hidden
+ * @return array key -> value list of hidden fileds data
+ */
+ public function formCreateHiddenFields(array $hidden_array = []): array
{
$hidden = [];
if (!is_array($this->table_array)) {
@@ -1791,12 +1790,12 @@ class Generate extends \CoreLibs\DB\Extended\ArrayIO
return $hidden;
}
- // METHOD: formCreateElementReferenceTable
- // WAS : form_create_element_reference_table
- // PARAMS: show which reference table
- // RETURN: array for output
- // DESC : creates the multiple select part for a reference_table
- public function formCreateElementReferenceTable($table_name)
+ /**
+ * creates the multiple select part for a reference_table
+ * @param string $table_name Table name for reference array lookup
+ * @return array Reference table output array
+ */
+ public function formCreateElementReferenceTable(string $table_name): array
{
$data = [];
$output_name = $this->reference_array[$table_name]['output_name'];
diff --git a/www/lib/Error.Handling.php b/www/lib/Error.Handling.php
index 9c0ef51b..b2ac7f28 100644
--- a/www/lib/Error.Handling.php
+++ b/www/lib/Error.Handling.php
@@ -25,11 +25,22 @@ if (defined('BASE')) {
// RETURN: true, so cought errors do not get processed by the PHP error engine
// DESC: will catch any error except E_ERROR and try to write them to the log file in log/php_error-.llog
// if this fails, it will print the data to the window via echo
-function MyErrorHandler($type, $message, $file, $line, $context)
+/**
+ * will catch any error except E_ERROR and try to write them to the log file
+ * in log/php_error-.log
+ * if this fails, it will print the data to the window via echo
+ * @param int $type the error code from PHP
+ * @param string $message the error message from php
+ * @param string $file in which file the error happend. this is the source file (eg include)
+ * @param int $line in which line the error happened
+ * @param array $context array with all the variable
+ * @return bool true, so cought errors do not get processed by the PHP error engine
+ */
+function MyErrorHandler(int $type, string $message, string $file, int $line, array $context): bool
{
if (!(error_reporting() & $type) && !SHOW_ALL_ERRORS) {
// This error code is not included in error_reporting
- return;
+ return false;
}
// ERROR LEVEL
$error_level = array(
@@ -52,7 +63,7 @@ function MyErrorHandler($type, $message, $file, $line, $context)
);
// get the current page name (strip path)
- $page_temp = explode("/", $_SERVER["PHP_SELF"]);
+ $page_temp = explode(DIRECTORY_SEPARATOR, $_SERVER["PHP_SELF"]);
// the output string:
// [] current timestamp
// {} the current page name in which the error occured (running script)
@@ -63,7 +74,7 @@ function MyErrorHandler($type, $message, $file, $line, $context)
$output = '{'.array_pop($page_temp).'} ['.$file.'] <'.$line.'> ['.$error_level[$type].'|'.$type.']: '.$message;
# try to open file
$ROOT = CURRENT_WORKING_DIR;
- $LOG = 'log/';
+ $LOG = 'log'.DIRECTORY_SEPARATOR;
// if the log folder is not found, try to create it
if (!is_dir($ROOT.$LOG) && !is_file($ROOT.LOG)) {
$ok = mkdir($ROOT.$LOG);