BASE . LOG,
'file_id' => $LOG_FILE_ID,
// add file date
'print_file_date' => true,
// set debug and print flags
'debug_all' => $DEBUG_ALL,
'echo_all' => $ECHO_ALL ?? false,
'print_all' => $PRINT_ALL,
]);
use CoreLibs\Create\Session;
$session = new Session();
$PAGE_NAME = 'TEST CLASS: SESSION';
print "";
print "
" . $PAGE_NAME . "";
print "";
print '';
print '' . $PAGE_NAME . '
';
$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') . "
";
}
echo "Global session name: " . ($GLOBALS['SET_SESSION_NAME'] ?? '-') . "
";
print "[UNSET] Current session id: " . $session->getSessionId() . "
";
print "[UNSET] Current session name: " . $session->getSessionName() . "
";
print "[UNSET] Current session active: " . ($session->checkActiveSession() ? 'Yes' : 'No') . "
";
print "[UNSET] Current session status: " . getSessionStatusString($session->getSessionStatus()) . "
";
if (isset($_SESSION)) {
print "[UNSET] _SESSION is: set
";
} else {
print "[UNSET] _SESSION is: not set
";
}
#
print "[UNSET] To set session name valid: "
. ($session->checkValidSessionName($session_name) ? 'Valid' : 'Invalid') . "
";
if (false === ($session_id = $session->startSession($session_name))) {
print "[FAILED] Session start failed: " . $session->getErrorStr() . "
";
} else {
print "[SET] Current session id: " . $session_id . "
";
}
// set again
if (false === ($session_id = $session->startSession($session_name))) {
print "[2 FAILED] Session start failed: " . $session->getErrorStr() . "
";
} else {
print "[2 SET] Current session id: " . $session_id . "
";
}
print "[SET] Current session id: " . $session->getSessionId() . "
";
print "[SET] Current session name: " . $session->getSessionName() . "
";
print "[SET] Current session active: " . ($session->checkActiveSession() ? 'Yes' : 'No') . "
";
print "[SET] Current session status: " . getSessionStatusString($session->getSessionStatus()) . "
";
if (isset($_SESSION)) {
print "[SET] _SESSION is: set
";
} else {
print "[SET] _SESSION is: not set
";
}
if (!isset($_SESSION['counter'])) {
$_SESSION['counter'] = 0;
}
$_SESSION['counter']++;
print "[READ] A " . $var . ": " . ($_SESSION[$var] ?? '{UNSET}') . "
";
$_SESSION[$var] = $value;
print "[READ] B " . $var . ": " . ($_SESSION[$var] ?? '{UNSET}') . "
";
print "[READ] Confirm " . $var . " is " . $value . ": "
. (($_SESSION[$var] ?? '') == $value ? 'Matching' : 'Not matching') . "
";
// test set wrappers methods
$session->setS('setwrap', 'YES, method set _SESSION var');
print "[READ WRAP] A setwrap: " . $session->getS('setwrap') . "
";
print "[READ WRAP] Isset: " . ($session->issetS('setwrap') ? 'Yes' : 'No') . "
";
$session->unsetS('setwrap');
print "[READ WRAP] unset setwrap: " . $session->getS('setwrap') . "
";
print "[READ WRAP] unset Isset: " . ($session->issetS('setwrap') ? 'Yes' : 'No') . "
";
// test __get/__set
$session->setwrap = 'YES, magic set _SESSION var'; /** @phpstan-ignore-line GET/SETTER */
print "[READ MAGIC] A setwrap: " . ($session->setwrap ?? '') . "
";
print "[READ MAGIC] Isset: " . (isset($session->setwrap) ? 'Yes' : 'No') . "
";
unset($session->setwrap);
print "[READ MAGIC] unset setwrap: " . ($session->setwrap ?? '') . "
";
print "[READ MAGIC] unset Isset: " . (isset($session->setwrap) ? 'Yes' : 'No') . "
";
// differnt session name
$session_name = 'class-test-session-ALT';
if (false === ($session_id = $session->startSession($session_name))) {
print "[3 FAILED] Session start failed: " . $session->getErrorStr() . "
";
} else {
print "[3 SET] Current session id: " . $session_id . "
";
}
print "[SET AGAIN] Current session id: " . $session->getSessionId() . "
";
print "[ALL SESSION]: " . \CoreLibs\Debug\Support::printAr($_SESSION) . "
";
// close session
$session->writeClose();
// will never be written
$_SESSION['will_never_be_written'] = 'empty';
// open again
$session_name = 'class-test-session';
if (false === ($session_id = $session->startSession($session_name))) {
print "[4 FAILED] Session start failed: " . $session->getErrorStr() . "
";
} else {
print "[4 SET] Current session id: " . $session_id . "
";
}
print "[START AGAIN] Current session id: " . $session->getSessionId() . "
";
$_SESSION['will_be_written_again'] = 'Full';
// close session
$session->writeClose();
// invalid
$session_name = '123';
if (false === ($session_id = $session->startSession($session_name))) {
print "[5 FAILED] Session start failed: " . $session->getErrorStr() . "
";
} else {
print "[5 SET] Current session id: " . $session_id . "
";
}
print "[BAD NAME] Current session id: " . $session->getSessionId() . "
";
print "[BAD NAME] Current session name: " . $session->getSessionName() . "
";
print "[BAD NAME] Current session active: " . ($session->checkActiveSession() ? 'Yes' : 'No') . "
";
print "[BAD NAME] Current session status: " . getSessionStatusString($session->getSessionStatus()) . "
";
// error message
print $log->printErrorMsg();
print "";
// __END__