Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aecdda3557 | ||
|
|
2119b757b1 | ||
|
|
27087a0e0e | ||
|
|
2b689b666a | ||
|
|
63aeebdee0 | ||
|
|
51e700cd10 |
@@ -6,6 +6,8 @@ namespace tests;
|
|||||||
|
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
|
// TODO: setLogPer test log file written matches pattern
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test class for Debug\Logging
|
* Test class for Debug\Logging
|
||||||
* @coversDefaultClass \CoreLibs\Debug\Logging
|
* @coversDefaultClass \CoreLibs\Debug\Logging
|
||||||
|
|||||||
@@ -1,7 +1,72 @@
|
|||||||
parameters:
|
parameters:
|
||||||
ignoreErrors:
|
ignoreErrors:
|
||||||
-
|
-
|
||||||
message: "#^Parameter \\#1 \\$result of function pg_result_error expects resource, object\\|resource\\|true given\\.$#"
|
message: "#^Parameter \\#1 \\$connection of function pg_connection_busy expects PgSql\\\\Connection, object\\|resource given\\.$#"
|
||||||
|
count: 3
|
||||||
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$connection of function pg_connection_status expects PgSql\\\\Connection, object\\|resource given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$connection of function pg_get_result expects PgSql\\\\Connection, object\\|resource given\\.$#"
|
||||||
|
count: 2
|
||||||
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$connection of function pg_meta_data expects PgSql\\\\Connection, object\\|resource given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$connection of function pg_send_query expects PgSql\\\\Connection, object\\|resource given\\.$#"
|
||||||
|
count: 2
|
||||||
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$connection of function pg_socket expects PgSql\\\\Connection, object\\|resource given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$connection of function pg_version expects PgSql\\\\Connection\\|null, object\\|resource given\\.$#"
|
||||||
|
count: 2
|
||||||
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$result of function pg_affected_rows expects PgSql\\\\Result, object\\|resource given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$result of function pg_fetch_all expects PgSql\\\\Result, object\\|resource given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$result of function pg_fetch_array expects PgSql\\\\Result, object\\|resource given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$result of function pg_field_name expects PgSql\\\\Result, object\\|resource given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$result of function pg_num_fields expects PgSql\\\\Result, object\\|resource given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$result of function pg_num_rows expects PgSql\\\\Result, object\\|resource given\\.$#"
|
||||||
|
count: 1
|
||||||
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
-
|
||||||
|
message: "#^Parameter \\#1 \\$result of function pg_result_error expects PgSql\\\\Result, object\\|resource given\\.$#"
|
||||||
count: 1
|
count: 1
|
||||||
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
path: www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,9 @@ parameters:
|
|||||||
# do not check old qq file uploader tests
|
# do not check old qq file uploader tests
|
||||||
- www/admin/qq_file_upload_*.php
|
- www/admin/qq_file_upload_*.php
|
||||||
# ignore all test files
|
# ignore all test files
|
||||||
- www/admin/class_test*php
|
- www/admin/class_test*.php
|
||||||
|
# extra in sub folder
|
||||||
|
- www/admin/subfolder/class_test*.php
|
||||||
- www/admin/error_test.php
|
- www/admin/error_test.php
|
||||||
# admin synlink files
|
# admin synlink files
|
||||||
- www/admin/edit_*.php
|
- www/admin/edit_*.php
|
||||||
@@ -47,9 +49,12 @@ parameters:
|
|||||||
- www/vendor
|
- www/vendor
|
||||||
# ignore errores with
|
# ignore errores with
|
||||||
ignoreErrors:
|
ignoreErrors:
|
||||||
- # this error is ignore because of the PHP 8.0 to 8.1 change for pg_*
|
- # this error is ignore because of the PHP 8.0 to 8.1 change for pg_*, only for 8.0 or lower
|
||||||
message: "#^Parameter \\#1 \\$(result|connection) of function pg_\\w+ expects resource(\\|null)?, object\\|resource(\\|bool)? given\\.$#"
|
message: "#^Parameter \\#1 \\$(result|connection) of function pg_\\w+ expects resource(\\|null)?, object\\|resource(\\|bool)? given\\.$#"
|
||||||
path: %currentWorkingDirectory%/www/lib/CoreLibs/DB/SQL/PgSQL.php
|
path: %currentWorkingDirectory%/www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
|
- # this is for 8.1 or newer
|
||||||
|
message: "#^Parameter \\#1 \\$(result|connection) of function pg_\\w+ expects PgSql\\\\(Result|Connection(\\|null)?), object\\|resource given\\.$#"
|
||||||
|
path: %currentWorkingDirectory%/www/lib/CoreLibs/DB/SQL/PgSQL.php
|
||||||
# this is ignored for now
|
# this is ignored for now
|
||||||
# - '#Expression in empty\(\) is always falsy.#'
|
# - '#Expression in empty\(\) is always falsy.#'
|
||||||
# -
|
# -
|
||||||
|
|||||||
@@ -51,10 +51,12 @@ $l10n = new \CoreLibs\Language\L10n(
|
|||||||
);
|
);
|
||||||
$backend = new CoreLibs\Admin\Backend($db, $log, $l10n, $locale);
|
$backend = new CoreLibs\Admin\Backend($db, $log, $l10n, $locale);
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: ADMIN BACKEND';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: ADMIN BACKEND</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
// set acl, from eg login acl
|
// set acl, from eg login acl
|
||||||
print "SETACL[]: " . $backend->setACL(['EMPTY' => 'EMPTY']) . "<br>";
|
print "SETACL[]: " . $backend->setACL(['EMPTY' => 'EMPTY']) . "<br>";
|
||||||
|
|||||||
@@ -45,10 +45,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
// $_array = new CoreLibs\Combined\ArrayHandler();
|
// $_array = new CoreLibs\Combined\ArrayHandler();
|
||||||
// $array_class = 'CoreLibs\Combination\ArrayHandler';
|
// $array_class = 'CoreLibs\Combination\ArrayHandler';
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: ARRAY HANDLER';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: ARRAY HANDLER</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
// recursive array search
|
// recursive array search
|
||||||
$test_array = [
|
$test_array = [
|
||||||
|
|||||||
@@ -32,10 +32,12 @@ ob_end_flush();
|
|||||||
|
|
||||||
use CoreLibs\Convert\Byte;
|
use CoreLibs\Convert\Byte;
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: AUTOLOADER';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: AUTOLOADER</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
$bytes = 10242424;
|
$bytes = 10242424;
|
||||||
$_bytes = Byte::humanReadableByteFormat($bytes);
|
$_bytes = Byte::humanReadableByteFormat($bytes);
|
||||||
|
|||||||
@@ -43,10 +43,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
]);
|
]);
|
||||||
$byte_class = 'CoreLibs\Convert\Byte';
|
$byte_class = 'CoreLibs\Convert\Byte';
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: BYTE CONVERT';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: BYTE CONVERT</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
// class
|
// class
|
||||||
$byte = 254779258;
|
$byte = 254779258;
|
||||||
|
|||||||
@@ -44,10 +44,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
]);
|
]);
|
||||||
$color_class = 'CoreLibs\Convert\Colors';
|
$color_class = 'CoreLibs\Convert\Colors';
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: COLORS';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: COLORS</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
// define a list of from to color sets for conversion test
|
// define a list of from to color sets for conversion test
|
||||||
|
|
||||||
|
|||||||
@@ -36,11 +36,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
'print_all' => $PRINT_ALL ?? false,
|
'print_all' => $PRINT_ALL ?? false,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: CONFIG DIRECT';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: CONFIG DIRECT</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
print '<div><b>CONFIG DIRECT</b></div>';
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
print "DIR: " . DIR . "<br>";
|
print "DIR: " . DIR . "<br>";
|
||||||
print "BASE: " . BASE . "<br>";
|
print "BASE: " . BASE . "<br>";
|
||||||
|
|||||||
@@ -36,11 +36,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
'print_all' => $PRINT_ALL ?? false,
|
'print_all' => $PRINT_ALL ?? false,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: CONFIG LINK';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: CONFIG LINK</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
print '<div><b>CONFIG LINK</b></div>';
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
print "DIR: " . DIR . "<br>";
|
print "DIR: " . DIR . "<br>";
|
||||||
print "BASE: " . BASE . "<br>";
|
print "BASE: " . BASE . "<br>";
|
||||||
|
|||||||
@@ -44,10 +44,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
]);
|
]);
|
||||||
$datetime_class = 'CoreLibs\Combined\DateTime';
|
$datetime_class = 'CoreLibs\Combined\DateTime';
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: DATE/TIME';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: DATE/TIME</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
// class
|
// class
|
||||||
$timestamp = 1622788315.123456;
|
$timestamp = 1622788315.123456;
|
||||||
|
|||||||
@@ -39,10 +39,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
$db = new CoreLibs\DB\IO(DB_CONFIG, $log);
|
$db = new CoreLibs\DB\IO(DB_CONFIG, $log);
|
||||||
$db->log->debug('START', '=============================>');
|
$db->log->debug('START', '=============================>');
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: DB';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: DB</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
print "LOGFILE NAME: " . $db->log->getSetting('log_file_name') . "<br>";
|
print "LOGFILE NAME: " . $db->log->getSetting('log_file_name') . "<br>";
|
||||||
print "LOGFILE ID: " . $db->log->getSetting('log_file_id') . "<br>";
|
print "LOGFILE ID: " . $db->log->getSetting('log_file_id') . "<br>";
|
||||||
|
|||||||
@@ -44,10 +44,12 @@ $debug = new CoreLibs\Debug\Logging([
|
|||||||
$debug_support_class = 'CoreLibs\Debug\Support';
|
$debug_support_class = 'CoreLibs\Debug\Support';
|
||||||
$debug_logging_class = 'CoreLibs\Debug\Logging';
|
$debug_logging_class = 'CoreLibs\Debug\Logging';
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: DEBUG';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: DEBUG</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
function test()
|
function test()
|
||||||
{
|
{
|
||||||
@@ -173,6 +175,12 @@ print "GETCALLERCLASS(NON CLASS): " . \CoreLibs\Debug\Support::getCallerClass()
|
|||||||
print "S::FSETFILENAME: " . FileWriter::fsetFilename('class_test_debug_file.log') . "<br>";
|
print "S::FSETFILENAME: " . FileWriter::fsetFilename('class_test_debug_file.log') . "<br>";
|
||||||
print "S::FDEBUG: " . FileWriter::fdebug('CLASS TEST DEBUG FILE: ' . date('Y-m-d H:i:s')) . "<br>";
|
print "S::FDEBUG: " . FileWriter::fdebug('CLASS TEST DEBUG FILE: ' . date('Y-m-d H:i:s')) . "<br>";
|
||||||
|
|
||||||
|
// test per level
|
||||||
|
$debug->setLogPer('level', true);
|
||||||
|
$debug->debug('TEST PER LEVEL', 'Per level test');
|
||||||
|
$debug->debug('()', 'Per level test: invalid chars');
|
||||||
|
$debug->setLogPer('level', false);
|
||||||
|
|
||||||
// error message
|
// error message
|
||||||
// future DEPRECATED
|
// future DEPRECATED
|
||||||
// $debug->debug('BASIC CLASS', 'Debug test');
|
// $debug->debug('BASIC CLASS', 'Debug test');
|
||||||
|
|||||||
@@ -43,10 +43,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
'print_all' => $PRINT_ALL ?? false,
|
'print_all' => $PRINT_ALL ?? false,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: HTML/ELEMENTS';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: HTML/ELEMENTS</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
// regex get
|
// regex get
|
||||||
print "S::GETEMAILREGEX(0): " . Email::getEmailRegex(0) . "<br>";
|
print "S::GETEMAILREGEX(0): " . Email::getEmailRegex(0) . "<br>";
|
||||||
|
|||||||
@@ -48,10 +48,12 @@ $_chk_enc = new CoreLibs\Check\Encoding();
|
|||||||
$_con_enc = new CoreLibs\Convert\Encoding();
|
$_con_enc = new CoreLibs\Convert\Encoding();
|
||||||
$chk_enc = 'CoreLibs\Check\Encoding';
|
$chk_enc = 'CoreLibs\Check\Encoding';
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: ENCODING (CHECK/CONVERT/MIME)';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: ENCODING (CHECK/CONVERT/MIME)</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
// print "Valid encoding: ".$log->printAr(mb_list_encodings())."<br>";
|
// print "Valid encoding: ".$log->printAr(mb_list_encodings())."<br>";
|
||||||
|
|
||||||
|
|||||||
@@ -42,10 +42,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
'print_all' => $PRINT_ALL ?? false,
|
'print_all' => $PRINT_ALL ?? false,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: FILE';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: FILE</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
$file = '/some/path/to/some/file.txt';
|
$file = '/some/path/to/some/file.txt';
|
||||||
print "GETFILENAMEENDING: $file: " . File::getFilenameEnding($file) . "<br>";
|
print "GETFILENAMEENDING: $file: " . File::getFilenameEnding($file) . "<br>";
|
||||||
|
|||||||
@@ -45,10 +45,12 @@ $hash_class = 'CoreLibs\Create\Hash';
|
|||||||
|
|
||||||
// define a list of from to color sets for conversion test
|
// define a list of from to color sets for conversion test
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: HASH';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: HASH</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
$to_crc = 'Some text block';
|
$to_crc = 'Some text block';
|
||||||
// static
|
// static
|
||||||
|
|||||||
@@ -49,10 +49,12 @@ $elements_class = 'CoreLibs\Output\Form\Elements';
|
|||||||
|
|
||||||
// define a list of from to color sets for conversion test
|
// define a list of from to color sets for conversion test
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: HTML/ELEMENTS';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: HTML/ELEMENTS</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
$string = "Something < = > Other <br> Next line";
|
$string = "Something < = > Other <br> Next line";
|
||||||
print "HTMLENT: " . Html::htmlent($string) . ": " . $_html->htmlent($string) . "<br>";
|
print "HTMLENT: " . Html::htmlent($string) . ": " . $_html->htmlent($string) . "<br>";
|
||||||
|
|||||||
@@ -46,10 +46,12 @@ $image_class = 'CoreLibs\Output\Image';
|
|||||||
|
|
||||||
// define a list of from to color sets for conversion test
|
// define a list of from to color sets for conversion test
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: IMAGE';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: IMAGE</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
// thumb sizes
|
// thumb sizes
|
||||||
$thumb_width = 250;
|
$thumb_width = 250;
|
||||||
|
|||||||
@@ -46,10 +46,12 @@ $json_class = 'CoreLibs\Convert\Json';
|
|||||||
|
|
||||||
// define a list of from to color sets for conversion test
|
// define a list of from to color sets for conversion test
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: JSON';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: JSON</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
$json = '{"foo": "bar"}';
|
$json = '{"foo": "bar"}';
|
||||||
$output = Json::jsonConvertToArray($json);
|
$output = Json::jsonConvertToArray($json);
|
||||||
|
|||||||
@@ -29,10 +29,12 @@ if (!defined('SET_SESSION_NAME')) {
|
|||||||
$LOG_FILE_ID = 'classTest-lang';
|
$LOG_FILE_ID = 'classTest-lang';
|
||||||
ob_end_flush();
|
ob_end_flush();
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: LANG';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: LANG</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
use CoreLibs\Language\L10n;
|
use CoreLibs\Language\L10n;
|
||||||
use CoreLibs\Debug\Support;
|
use CoreLibs\Debug\Support;
|
||||||
|
|||||||
@@ -42,10 +42,12 @@ $db = new CoreLibs\DB\IO(DB_CONFIG, $log);
|
|||||||
$login = new CoreLibs\ACL\Login($db, $log);
|
$login = new CoreLibs\ACL\Login($db, $log);
|
||||||
ob_end_flush();
|
ob_end_flush();
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: LOGIN';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: LOGIN</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
echo "CHECK PERMISSION: " . ($login->loginCheckPermissions() ? 'OK' : 'BAD') . "<br>";
|
echo "CHECK PERMISSION: " . ($login->loginCheckPermissions() ? 'OK' : 'BAD') . "<br>";
|
||||||
echo "IS ADMIN: " . ($login->loginIsAdmin() ? 'OK' : 'BAD') . "<br>";
|
echo "IS ADMIN: " . ($login->loginIsAdmin() ? 'OK' : 'BAD') . "<br>";
|
||||||
|
|||||||
@@ -44,10 +44,12 @@ $math_class = 'CoreLibs\Convert\Math';
|
|||||||
|
|
||||||
// define a list of from to color sets for conversion test
|
// define a list of from to color sets for conversion test
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: MATH';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: MATH</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
print "FCEIL: " . $_math->fceil(5.1234567890, 5) . "<br>";
|
print "FCEIL: " . $_math->fceil(5.1234567890, 5) . "<br>";
|
||||||
print "FLOORP: " . $_math->floorp(5123456, -3) . "<br>";
|
print "FLOORP: " . $_math->floorp(5123456, -3) . "<br>";
|
||||||
|
|||||||
@@ -41,10 +41,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
]);
|
]);
|
||||||
$_mime = new CoreLibs\Convert\MimeAppName();
|
$_mime = new CoreLibs\Convert\MimeAppName();
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: MIME';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: MIME</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
$mime = 'application/illustrator';
|
$mime = 'application/illustrator';
|
||||||
print "MIME $mime: " . $_mime->mimeGetAppName($mime) . "<br>";
|
print "MIME $mime: " . $_mime->mimeGetAppName($mime) . "<br>";
|
||||||
|
|||||||
@@ -69,10 +69,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
]);
|
]);
|
||||||
$form = new CoreLibs\Output\Form\Generate(DB_CONFIG, $log);
|
$form = new CoreLibs\Output\Form\Generate(DB_CONFIG, $log);
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: FORM GENERATE';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: FORM GENERATE</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
print "MOBILE PHONE: " . $form->mobile_phone . "<br>";
|
print "MOBILE PHONE: " . $form->mobile_phone . "<br>";
|
||||||
// sets table array to include
|
// sets table array to include
|
||||||
|
|||||||
@@ -46,10 +46,12 @@ $password_class = 'CoreLibs\Check\Password';
|
|||||||
|
|
||||||
// define a list of from to color sets for conversion test
|
// define a list of from to color sets for conversion test
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: PASSWORD';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: PASSWORD</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
$password = 'something1234';
|
$password = 'something1234';
|
||||||
$enc_password = $_password->passwordSet($password);
|
$enc_password = $_password->passwordSet($password);
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ print '<div><a href="class_test.debug.php">Class Test: DEBUG</a></div>';
|
|||||||
print '<div><a href="class_test.output.form.php">Class Test: OUTPUT FORM</a></div>';
|
print '<div><a href="class_test.output.form.php">Class Test: OUTPUT FORM</a></div>';
|
||||||
print '<div><a href="class_test.admin.backend.php">Class Test: BACKEND ADMIN CLASS</a></div>';
|
print '<div><a href="class_test.admin.backend.php">Class Test: BACKEND ADMIN CLASS</a></div>';
|
||||||
print '<div><a href="class_test.lang.php">Class Test: LANG/L10n</a></div>';
|
print '<div><a href="class_test.lang.php">Class Test: LANG/L10n</a></div>';
|
||||||
|
print '<div><a href="class_test.session.php">Class Test: SESSION</a></div>';
|
||||||
print '<div><a href="class_test.smarty.php">Class Test: SMARTY</a></div>';
|
print '<div><a href="class_test.smarty.php">Class Test: SMARTY</a></div>';
|
||||||
print '<div><a href="class_test.login.php">Class Test: LOGIN</a></div>';
|
print '<div><a href="class_test.login.php">Class Test: LOGIN</a></div>';
|
||||||
print '<div><a href="class_test.autoloader.php">Class Test: AUTOLOADER</a></div>';
|
print '<div><a href="class_test.autoloader.php">Class Test: AUTOLOADER</a></div>';
|
||||||
|
|||||||
@@ -46,10 +46,12 @@ $phpv_class = 'CoreLibs\Check\PhpVersion';
|
|||||||
|
|
||||||
// define a list of from to color sets for conversion test
|
// define a list of from to color sets for conversion test
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: PHP VERSION';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: PHP VERSION</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
$min_version_s = '7';
|
$min_version_s = '7';
|
||||||
$min_version_ss = '7.1';
|
$min_version_ss = '7.1';
|
||||||
|
|||||||
@@ -43,10 +43,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
]);
|
]);
|
||||||
$array_class = 'CoreLibs\Create\RandomKey';
|
$array_class = 'CoreLibs\Create\RandomKey';
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: RANDOM KEY';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: RANDOM KEY</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
$key_length = 10;
|
$key_length = 10;
|
||||||
$key_length_b = 5;
|
$key_length_b = 5;
|
||||||
|
|||||||
@@ -34,10 +34,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
]);
|
]);
|
||||||
$ref_class = 'CoreLibs\Get\ReadEnvFile';
|
$ref_class = 'CoreLibs\Get\ReadEnvFile';
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: READ ENV FILE';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: READ ENV FILE</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
print "ALREADY from config.php: " . \CoreLibs\Debug\Support::printAr($_ENV) . "<br>";
|
print "ALREADY from config.php: " . \CoreLibs\Debug\Support::printAr($_ENV) . "<br>";
|
||||||
|
|
||||||
|
|||||||
@@ -42,10 +42,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
'print_all' => $PRINT_ALL ?? false,
|
'print_all' => $PRINT_ALL ?? false,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: RUNNING TIME';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: RUNNING IMTE</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
RunningTime::hrRunningTime();
|
RunningTime::hrRunningTime();
|
||||||
RunningTime::runningTime();
|
RunningTime::runningTime();
|
||||||
|
|||||||
171
www/admin/class_test.session.php
Normal file
171
www/admin/class_test.session.php
Normal file
@@ -0,0 +1,171 @@
|
|||||||
|
<?php // phpcs:ignore warning
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
$DEBUG_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations
|
||||||
|
$DEBUG_ALL = 1;
|
||||||
|
$PRINT_ALL = 1;
|
||||||
|
$DB_DEBUG = 1;
|
||||||
|
|
||||||
|
if ($DEBUG_ALL) {
|
||||||
|
error_reporting(E_ALL | E_STRICT | E_ERROR | E_WARNING | E_PARSE | E_COMPILE_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Undocumented function
|
||||||
|
*
|
||||||
|
* @param int $status
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
/** @phan-suppress-next-line PhanRedefineFunction */
|
||||||
|
function getSessionStatusString(int $status): string
|
||||||
|
{
|
||||||
|
switch ($status) {
|
||||||
|
case PHP_SESSION_DISABLED:
|
||||||
|
$status = 'PHP_SESSION_DISABLED';
|
||||||
|
break;
|
||||||
|
case PHP_SESSION_NONE:
|
||||||
|
$status = 'PHP_SESSION_NONE';
|
||||||
|
break;
|
||||||
|
case PHP_SESSION_ACTIVE:
|
||||||
|
$status = 'PHP_SESSION_ACTIVE';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$status = '[!] UNDEFINED';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return $status;
|
||||||
|
}
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
|
||||||
|
// basic class test file
|
||||||
|
define('USE_DATABASE', false);
|
||||||
|
// sample config
|
||||||
|
require 'config.php';
|
||||||
|
// set session name
|
||||||
|
// if (!defined('SET_SESSION_NAME')) {
|
||||||
|
// define('SET_SESSION_NAME', EDIT_SESSION_NAME);
|
||||||
|
// }
|
||||||
|
// define log file id
|
||||||
|
$LOG_FILE_ID = 'classTest-session';
|
||||||
|
ob_end_flush();
|
||||||
|
|
||||||
|
$log = new CoreLibs\Debug\Logging([
|
||||||
|
'log_folder' => BASE . LOG,
|
||||||
|
'file_id' => $LOG_FILE_ID,
|
||||||
|
// add file date
|
||||||
|
'print_file_date' => true,
|
||||||
|
// set debug and print flags
|
||||||
|
'debug_all' => $DEBUG_ALL ?? false,
|
||||||
|
'echo_all' => $ECHO_ALL ?? false,
|
||||||
|
'print_all' => $PRINT_ALL ?? false,
|
||||||
|
]);
|
||||||
|
use CoreLibs\Create\Session;
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: SESSION';
|
||||||
|
print "<!DOCTYPE html>";
|
||||||
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
|
print "<body>";
|
||||||
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
|
$session_name = 'class-test-session';
|
||||||
|
$var = 'foo';
|
||||||
|
$value = 'bar';
|
||||||
|
|
||||||
|
foreach (['123', '123-123', '123abc'] as $_session_name) {
|
||||||
|
print "[UNSET] Session Name valid for " . $_session_name . ": "
|
||||||
|
. (Session::checkValidSessionName($_session_name) ? 'Valid' : 'Invalid') . "<br>";
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "Global session name: " . ($GLOBALS['SET_SESSION_NAME'] ?? '-') . "<br>";
|
||||||
|
|
||||||
|
print "[UNSET] Current session id: " . Session::getSessionId() . "<br>";
|
||||||
|
print "[UNSET] Current session name: " . Session::getSessionName() . "<br>";
|
||||||
|
print "[UNSET] Current session active: " . (Session::checkActiveSession() ? 'Yes' : 'No') . "<br>";
|
||||||
|
print "[UNSET] Current session status: " . getSessionStatusString(Session::getSessionStatus()) . "<br>";
|
||||||
|
if (isset($_SESSION)) {
|
||||||
|
print "[UNSET] _SESSION is: set<br>";
|
||||||
|
} else {
|
||||||
|
print "[UNSET] _SESSION is: not set<br>";
|
||||||
|
}
|
||||||
|
#
|
||||||
|
print "[UNSET] To set session name valid: "
|
||||||
|
. (Session::checkValidSessionName($session_name) ? 'Valid' : 'Invalid') . "<br>";
|
||||||
|
if (false === ($session = Session::startSession($session_name))) {
|
||||||
|
print "[FAILED] Session start failed: " . Session::getErrorStr() . "<br>";
|
||||||
|
} else {
|
||||||
|
print "[SET] Current session id: " . $session . "<br>";
|
||||||
|
}
|
||||||
|
// set again
|
||||||
|
if (false === ($session = Session::startSession($session_name))) {
|
||||||
|
print "[2 FAILED] Session start failed: " . Session::getErrorStr() . "<br>";
|
||||||
|
} else {
|
||||||
|
print "[2 SET] Current session id: " . $session . "<br>";
|
||||||
|
}
|
||||||
|
print "[SET] Current session id: " . Session::getSessionId() . "<br>";
|
||||||
|
print "[SET] Current session name: " . Session::getSessionName() . "<br>";
|
||||||
|
print "[SET] Current session active: " . (Session::checkActiveSession() ? 'Yes' : 'No') . "<br>";
|
||||||
|
print "[SET] Current session status: " . getSessionStatusString(Session::getSessionStatus()) . "<br>";
|
||||||
|
if (isset($_SESSION)) {
|
||||||
|
print "[SET] _SESSION is: set<br>";
|
||||||
|
} else {
|
||||||
|
print "[SET] _SESSION is: not set<br>";
|
||||||
|
}
|
||||||
|
if (!isset($_SESSION['counter'])) {
|
||||||
|
$_SESSION['counter'] = 0;
|
||||||
|
}
|
||||||
|
$_SESSION['counter']++;
|
||||||
|
print "[READ] " . $var . ": " . ($_SESSION[$var] ?? '{UNSET}') . "<br>";
|
||||||
|
$_SESSION[$var] = $value;
|
||||||
|
print "[READ] " . $var . ": " . ($_SESSION[$var] ?? '{UNSET}') . "<br>";
|
||||||
|
print "[READ] Confirm " . $var . " is " . $value . ": "
|
||||||
|
. (($_SESSION[$var] ?? '') == $value ? 'Matching' : 'Not matching') . "<br>";
|
||||||
|
|
||||||
|
// differnt session name
|
||||||
|
$session_name = 'class-test-session-ALT';
|
||||||
|
if (false === ($session = Session::startSession($session_name))) {
|
||||||
|
print "[3 FAILED] Session start failed: " . Session::getErrorStr() . "<br>";
|
||||||
|
} else {
|
||||||
|
print "[3 SET] Current session id: " . $session . "<br>";
|
||||||
|
}
|
||||||
|
print "[SET AGAIN] Current session id: " . Session::getSessionId() . "<br>";
|
||||||
|
|
||||||
|
print "[ALL SESSION]: " . \CoreLibs\Debug\Support::printAr($_SESSION) . "<br>";
|
||||||
|
|
||||||
|
// close session
|
||||||
|
Session::writeClose();
|
||||||
|
// will never be written
|
||||||
|
$_SESSION['will_never_be_written'] = 'empty';
|
||||||
|
|
||||||
|
// open again
|
||||||
|
$session_name = 'class-test-session';
|
||||||
|
if (false === ($session = Session::startSession($session_name))) {
|
||||||
|
print "[4 FAILED] Session start failed: " . Session::getErrorStr() . "<br>";
|
||||||
|
} else {
|
||||||
|
print "[4 SET] Current session id: " . $session . "<br>";
|
||||||
|
}
|
||||||
|
print "[START AGAIN] Current session id: " . Session::getSessionId() . "<br>";
|
||||||
|
$_SESSION['will_be_written_again'] = 'Full';
|
||||||
|
|
||||||
|
// close session
|
||||||
|
Session::writeClose();
|
||||||
|
// invalid
|
||||||
|
$session_name = '123';
|
||||||
|
if (false === ($session = Session::startSession($session_name))) {
|
||||||
|
print "[5 FAILED] Session start failed: " . Session::getErrorStr() . "<br>";
|
||||||
|
} else {
|
||||||
|
print "[5 SET] Current session id: " . $session . "<br>";
|
||||||
|
}
|
||||||
|
print "[BAD NAME] Current session id: " . Session::getSessionId() . "<br>";
|
||||||
|
print "[BAD NAME] Current session name: " . Session::getSessionName() . "<br>";
|
||||||
|
print "[BAD NAME] Current session active: " . (Session::checkActiveSession() ? 'Yes' : 'No') . "<br>";
|
||||||
|
print "[BAD NAME] Current session status: " . getSessionStatusString(Session::getSessionStatus()) . "<br>";
|
||||||
|
|
||||||
|
// error message
|
||||||
|
print $log->printErrorMsg();
|
||||||
|
|
||||||
|
print "</body></html>";
|
||||||
|
|
||||||
|
// __END__
|
||||||
113
www/admin/class_test.session.read.php
Normal file
113
www/admin/class_test.session.read.php
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
<?php // phpcs:ignore warning
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
$DEBUG_ALL_OVERRIDE = 0; // set to 1 to debug on live/remote server locations
|
||||||
|
$DEBUG_ALL = 1;
|
||||||
|
$PRINT_ALL = 1;
|
||||||
|
$DB_DEBUG = 1;
|
||||||
|
|
||||||
|
if ($DEBUG_ALL) {
|
||||||
|
error_reporting(E_ALL | E_STRICT | E_ERROR | E_WARNING | E_PARSE | E_COMPILE_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Undocumented function
|
||||||
|
*
|
||||||
|
* @param int $status
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
/** @phan-suppress-next-line PhanRedefineFunction */
|
||||||
|
function getSessionStatusString(int $status): string
|
||||||
|
{
|
||||||
|
switch ($status) {
|
||||||
|
case PHP_SESSION_DISABLED:
|
||||||
|
$status = 'PHP_SESSION_DISABLED';
|
||||||
|
break;
|
||||||
|
case PHP_SESSION_NONE:
|
||||||
|
$status = 'PHP_SESSION_NONE';
|
||||||
|
break;
|
||||||
|
case PHP_SESSION_ACTIVE:
|
||||||
|
$status = 'PHP_SESSION_ACTIVE';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$status = '[!] UNDEFINED';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return $status;
|
||||||
|
}
|
||||||
|
|
||||||
|
ob_start();
|
||||||
|
|
||||||
|
// basic class test file
|
||||||
|
define('USE_DATABASE', false);
|
||||||
|
// sample config
|
||||||
|
require 'config.php';
|
||||||
|
// set session name
|
||||||
|
if (!defined('SET_SESSION_NAME')) {
|
||||||
|
define('SET_SESSION_NAME', EDIT_SESSION_NAME);
|
||||||
|
}
|
||||||
|
// define log file id
|
||||||
|
$LOG_FILE_ID = 'classTest-session.read';
|
||||||
|
ob_end_flush();
|
||||||
|
|
||||||
|
$log = new CoreLibs\Debug\Logging([
|
||||||
|
'log_folder' => BASE . LOG,
|
||||||
|
'file_id' => $LOG_FILE_ID,
|
||||||
|
// add file date
|
||||||
|
'print_file_date' => true,
|
||||||
|
// set debug and print flags
|
||||||
|
'debug_all' => $DEBUG_ALL ?? false,
|
||||||
|
'echo_all' => $ECHO_ALL ?? false,
|
||||||
|
'print_all' => $PRINT_ALL ?? false,
|
||||||
|
]);
|
||||||
|
use CoreLibs\Create\Session;
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: SESSION (READ)';
|
||||||
|
print "<!DOCTYPE html>";
|
||||||
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
|
print "<body>";
|
||||||
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
|
$session_name = 'class-test-session';
|
||||||
|
// $session_name = '';
|
||||||
|
$var = 'foo';
|
||||||
|
$value = 'bar';
|
||||||
|
|
||||||
|
echo "Global session name: " . ($GLOBALS['SET_SESSION_NAME'] ?? '-') . "<br>";
|
||||||
|
|
||||||
|
print "[UNSET] Current session id: " . Session::getSessionId() . "<br>";
|
||||||
|
print "[UNSET] Current session name: " . Session::getSessionName() . "<br>";
|
||||||
|
print "[UNSET] Current session active: " . (Session::checkActiveSession() ? 'Yes' : 'No') . "<br>";
|
||||||
|
print "[UNSET] Current session status: " . getSessionStatusString(Session::getSessionStatus()) . "<br>";
|
||||||
|
|
||||||
|
print "[READ] " . $var . ": " . ($_SESSION[$var] ?? '{UNSET}') . "<br>";
|
||||||
|
// start
|
||||||
|
if (false === ($session = Session::startSession($session_name))) {
|
||||||
|
print "Session start failed: " . Session::getErrorStr() . "<br>";
|
||||||
|
} else {
|
||||||
|
print "Current session id: " . $session . "<br>";
|
||||||
|
}
|
||||||
|
// set again
|
||||||
|
if (false === ($session = Session::startSession($session_name))) {
|
||||||
|
print "[2] Session start failed<br>";
|
||||||
|
} else {
|
||||||
|
print "[2] Current session id: " . $session . "<br>";
|
||||||
|
}
|
||||||
|
print "[SET] Current session id: " . Session::getSessionId() . "<br>";
|
||||||
|
print "[SET] Current session name: " . Session::getSessionName() . "<br>";
|
||||||
|
print "[SET] Current session active: " . (Session::checkActiveSession() ? 'Yes' : 'No') . "<br>";
|
||||||
|
print "[SET] Current session status: " . getSessionStatusString(Session::getSessionStatus()) . "<br>";
|
||||||
|
print "[READ] " . $var . ": " . ($_SESSION[$var] ?? '{UNSET}') . "<br>";
|
||||||
|
print "[READ] Confirm " . $var . " is " . $value . ": "
|
||||||
|
. (($_SESSION[$var] ?? '') == $value ? 'Matching' : 'Not matching') . "<br>";
|
||||||
|
|
||||||
|
print "[ALL SESSION]: " . \CoreLibs\Debug\Support::printAr($_SESSION) . "<br>";
|
||||||
|
|
||||||
|
// error message
|
||||||
|
print $log->printErrorMsg();
|
||||||
|
|
||||||
|
print "</body></html>";
|
||||||
|
|
||||||
|
// __END__
|
||||||
@@ -49,10 +49,12 @@ $l10n = new \CoreLibs\Language\L10n(
|
|||||||
);
|
);
|
||||||
$smarty = new CoreLibs\Template\SmartyExtend($l10n, $locale);
|
$smarty = new CoreLibs\Template\SmartyExtend($l10n, $locale);
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: SMARTY';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: SMARTY</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
$smarty->DATA['JS_DEBUG'] = DEBUG;
|
$smarty->DATA['JS_DEBUG'] = DEBUG;
|
||||||
$smarty->MASTER_TEMPLATE_NAME = 'main_body.tpl';
|
$smarty->MASTER_TEMPLATE_NAME = 'main_body.tpl';
|
||||||
|
|||||||
@@ -42,12 +42,13 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
'echo_all' => $ECHO_ALL ?? false,
|
'echo_all' => $ECHO_ALL ?? false,
|
||||||
'print_all' => $PRINT_ALL ?? false,
|
'print_all' => $PRINT_ALL ?? false,
|
||||||
]);
|
]);
|
||||||
$basic = new CoreLibs\Basic($log);
|
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: SYSTEM';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: SYSTEM</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
print "GETHOSTNAME: " . DgS::printAr(System::getHostName()) . "<br>";
|
print "GETHOSTNAME: " . DgS::printAr(System::getHostName()) . "<br>";
|
||||||
print "GETPAGENAME(0): " . System::getPageName() . "<br>";
|
print "GETPAGENAME(0): " . System::getPageName() . "<br>";
|
||||||
|
|||||||
@@ -42,10 +42,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
$_token = new CoreLibs\Output\Form\Token();
|
$_token = new CoreLibs\Output\Form\Token();
|
||||||
$token_class = 'CoreLibs\Output\Form\Token';
|
$token_class = 'CoreLibs\Output\Form\Token';
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: FORM TOKEN';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: FORM TOKEN</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
$token = 'test_form_token';
|
$token = 'test_form_token';
|
||||||
$token_id = $_token->setFormToken($token);
|
$token_id = $_token->setFormToken($token);
|
||||||
|
|||||||
@@ -43,10 +43,12 @@ $_uids = new CoreLibs\Create\Uids();
|
|||||||
use CoreLibs\Create\Uids;
|
use CoreLibs\Create\Uids;
|
||||||
$uids_class = 'CoreLibs\Create\Uids';
|
$uids_class = 'CoreLibs\Create\Uids';
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: UIDS';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: UIDS</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
print '<div><a href="class_test.php">Class Test Master</a></div>';
|
||||||
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
// class
|
// class
|
||||||
print "UUIDV4: " . $_uids->uuidv4() . "<br>";
|
print "UUIDV4: " . $_uids->uuidv4() . "<br>";
|
||||||
|
|||||||
@@ -36,11 +36,12 @@ $log = new CoreLibs\Debug\Logging([
|
|||||||
'print_all' => $PRINT_ALL ?? false,
|
'print_all' => $PRINT_ALL ?? false,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
$PAGE_NAME = 'TEST CLASS: CONFIG DIRECT SUB';
|
||||||
print "<!DOCTYPE html>";
|
print "<!DOCTYPE html>";
|
||||||
print "<html><head><title>TEST CLASS: CONFIG DIRECT SUB</title><head>";
|
print "<html><head><title>" . $PAGE_NAME . "</title><head>";
|
||||||
print "<body>";
|
print "<body>";
|
||||||
print '<div><a href="../class_test.php">Class Test Master</a></div>';
|
print '<div><a href="../class_test.php">Class Test Master</a></div>';
|
||||||
print '<div><b>CONFIG DIRECT SUB</b></div>';
|
print '<div><h1>' . $PAGE_NAME . '</h1></div>';
|
||||||
|
|
||||||
print "DIR: " . DIR . "<br>";
|
print "DIR: " . DIR . "<br>";
|
||||||
print "BASE: " . BASE . "<br>";
|
print "BASE: " . BASE . "<br>";
|
||||||
|
|||||||
@@ -818,6 +818,7 @@ class Login
|
|||||||
}
|
}
|
||||||
// set the default edit access
|
// set the default edit access
|
||||||
$this->acl['default_edit_access'] = $_SESSION['UNIT_DEFAULT'] ?? null;
|
$this->acl['default_edit_access'] = $_SESSION['UNIT_DEFAULT'] ?? null;
|
||||||
|
$this->acl['min'] = [];
|
||||||
// integrate the type acl list, but only for the keyword -> level
|
// integrate the type acl list, but only for the keyword -> level
|
||||||
foreach ($this->default_acl_list as $level => $data) {
|
foreach ($this->default_acl_list as $level => $data) {
|
||||||
$this->acl['min'][$data['type']] = $level;
|
$this->acl['min'][$data['type']] = $level;
|
||||||
@@ -846,6 +847,8 @@ class Login
|
|||||||
) {
|
) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
// phan claims $this->acl['min'] can be null, but above should skip
|
||||||
|
/** @phan-suppress-next-line PhanTypeArraySuspiciousNullable */
|
||||||
if ($this->acl[$source] >= $this->acl['min'][$min_access]) {
|
if ($this->acl[$source] >= $this->acl['min'][$min_access]) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -1492,7 +1495,7 @@ EOM;
|
|||||||
/**
|
/**
|
||||||
* Return ACL array as is
|
* Return ACL array as is
|
||||||
*
|
*
|
||||||
* @return array
|
* @return array<mixed>
|
||||||
*/
|
*/
|
||||||
public function loginGetAcl(): array
|
public function loginGetAcl(): array
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -7,9 +7,6 @@
|
|||||||
* name can be given via startSession parameter
|
* name can be given via startSession parameter
|
||||||
* if not set tries to read $SET_SESSION_NAME from global
|
* if not set tries to read $SET_SESSION_NAME from global
|
||||||
* if this is not set tries to read SET_SESSION_NAME constant
|
* if this is not set tries to read SET_SESSION_NAME constant
|
||||||
*
|
|
||||||
* TODO: add _SESSION write unset
|
|
||||||
* TODO: add session close down with all _SESSION vars unset
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
@@ -18,6 +15,9 @@ namespace CoreLibs\Create;
|
|||||||
|
|
||||||
class Session
|
class Session
|
||||||
{
|
{
|
||||||
|
/** @var string list for errors*/
|
||||||
|
private static $error_str = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* init a session
|
* init a session
|
||||||
*/
|
*/
|
||||||
@@ -25,6 +25,41 @@ class Session
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return set error string, empty if none set
|
||||||
|
*
|
||||||
|
* @return string Last error string
|
||||||
|
*/
|
||||||
|
public static function getErrorStr(): string
|
||||||
|
{
|
||||||
|
return self::$error_str;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* check if session name is valid
|
||||||
|
*
|
||||||
|
* As from PHP 8.1/8.0/7.4 error
|
||||||
|
* INVALID CHARS: =,; \t\r\n\013\014
|
||||||
|
* NOTE: using . will fail even thought valid
|
||||||
|
* we allow only alphanumeric with - (dash) and 1 to 128 characters
|
||||||
|
*
|
||||||
|
* @param string $session_name any string, not null
|
||||||
|
* @return bool True for valid, False for invalid
|
||||||
|
*/
|
||||||
|
public static function checkValidSessionName(string $session_name): bool
|
||||||
|
{
|
||||||
|
// check
|
||||||
|
if (
|
||||||
|
// must only have those
|
||||||
|
!preg_match('/^[-a-zA-Z0-9]{1,128}$/', $session_name) ||
|
||||||
|
// cannot be only numbers
|
||||||
|
preg_match('/^[0-9]+$/', $session_name)
|
||||||
|
) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Undocumented function
|
* Undocumented function
|
||||||
*
|
*
|
||||||
@@ -35,10 +70,12 @@ class Session
|
|||||||
{
|
{
|
||||||
// we can't start sessions on command line
|
// we can't start sessions on command line
|
||||||
if (php_sapi_name() === 'cli') {
|
if (php_sapi_name() === 'cli') {
|
||||||
|
self::$error_str = '[SESSION] No sessions in php cli';
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// if session are OFF
|
// if session are OFF
|
||||||
if (self::getSessionStatus() === PHP_SESSION_DISABLED) {
|
if (self::getSessionStatus() === PHP_SESSION_DISABLED) {
|
||||||
|
self::$error_str = '[SESSION] Sessions are disabled';
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// session_status
|
// session_status
|
||||||
@@ -59,6 +96,11 @@ class Session
|
|||||||
}
|
}
|
||||||
// if set, set special session name
|
// if set, set special session name
|
||||||
if (!empty($session_name)) {
|
if (!empty($session_name)) {
|
||||||
|
// invalid session name, abort
|
||||||
|
if (!self::checkValidSessionName($session_name)) {
|
||||||
|
self::$error_str = '[SESSION] Invalid session name: ' . $session_name;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
session_name($session_name);
|
session_name($session_name);
|
||||||
}
|
}
|
||||||
// start session
|
// start session
|
||||||
@@ -66,6 +108,7 @@ class Session
|
|||||||
}
|
}
|
||||||
// if we still have no active session
|
// if we still have no active session
|
||||||
if (!self::checkActiveSession()) {
|
if (!self::checkActiveSession()) {
|
||||||
|
self::$error_str = '[SESSION] Failed to activate session';
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return self::getSessionId();
|
return self::getSessionId();
|
||||||
@@ -95,7 +138,7 @@ class Session
|
|||||||
* Checks if there is an active session.
|
* Checks if there is an active session.
|
||||||
* Does not check if we can have a session
|
* Does not check if we can have a session
|
||||||
*
|
*
|
||||||
* @return boolean True if there is an active session, else false
|
* @return bool True if there is an active session, else false
|
||||||
*/
|
*/
|
||||||
public static function checkActiveSession(): bool
|
public static function checkActiveSession(): bool
|
||||||
{
|
{
|
||||||
@@ -106,6 +149,19 @@ class Session
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* unlock the session file, so concurrent AJAX requests can be done
|
||||||
|
* NOTE: after this has been called, no changes in _SESSION will be stored
|
||||||
|
* NOTE: a new session with a different name can be started after this one is called
|
||||||
|
* if problem, run ob_flush() and flush() too
|
||||||
|
*
|
||||||
|
* @return bool True und sucess, false on failure
|
||||||
|
*/
|
||||||
|
public static function writeClose(): bool
|
||||||
|
{
|
||||||
|
return session_write_close();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get session status
|
* get session status
|
||||||
* PHP_SESSION_DISABLED if sessions are disabled.
|
* PHP_SESSION_DISABLED if sessions are disabled.
|
||||||
|
|||||||
@@ -604,7 +604,7 @@ class PgSQL implements \CoreLibs\DB\SQL\SqlInterface\SqlFunctions
|
|||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
// extract element
|
// extract element
|
||||||
$return_string = pg_version($this->dbh)[$parameter] ?? '';
|
$return_string = (string)(pg_version($this->dbh)[$parameter] ?? '');
|
||||||
// for version, strip if requested
|
// for version, strip if requested
|
||||||
if (
|
if (
|
||||||
in_array($parameter, ['server']) &&
|
in_array($parameter, ['server']) &&
|
||||||
|
|||||||
@@ -365,7 +365,18 @@ class Logging
|
|||||||
}
|
}
|
||||||
$fn = str_replace('##DATE##', $rpl_string, $fn); // create output filename
|
$fn = str_replace('##DATE##', $rpl_string, $fn); // create output filename
|
||||||
|
|
||||||
$rpl_string = !$this->log_per_level ? '' : '_' . $level; // if request to write to one file
|
// write per level
|
||||||
|
$rpl_string = !$this->log_per_level ? '' :
|
||||||
|
// normalize level, replace all non alphanumeric characters with -
|
||||||
|
'_' . (
|
||||||
|
// if return is only - then set error string
|
||||||
|
preg_match(
|
||||||
|
"/^-+$/",
|
||||||
|
$level_string = preg_replace("/[^A-Za-z0-9-_]/", '-', $level) ?? ''
|
||||||
|
) ?
|
||||||
|
'INVALID-LEVEL-STRING' :
|
||||||
|
$level_string
|
||||||
|
);
|
||||||
$fn = str_replace('##LEVEL##', $rpl_string, $fn); // create output filename
|
$fn = str_replace('##LEVEL##', $rpl_string, $fn); // create output filename
|
||||||
// set per class, but don't use get_class as we will only get self
|
// set per class, but don't use get_class as we will only get self
|
||||||
$rpl_string = !$this->log_per_class ? '' : '_'
|
$rpl_string = !$this->log_per_class ? '' : '_'
|
||||||
|
|||||||
@@ -32,7 +32,8 @@ function MyErrorHandler(
|
|||||||
int $line,
|
int $line,
|
||||||
array $context = []
|
array $context = []
|
||||||
): bool {
|
): bool {
|
||||||
if (!(error_reporting() & $type) && SHOW_ALL_ERRORS == false) {
|
/** @phpstan-ignore-next-line cannot check show all errors constant */
|
||||||
|
if (!(error_reporting() & $type) && SHOW_ALL_ERRORS === false) {
|
||||||
// This error code is not included in error_reporting
|
// This error code is not included in error_reporting
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user