Updated Videotex frame to use Parser

This commit is contained in:
Deon George
2018-12-29 23:24:41 +11:00
parent 35b5bc2263
commit 390f52a460
12 changed files with 200 additions and 140 deletions

View File

@@ -230,7 +230,7 @@ abstract class Server {
// If we are the main login screen, see if it is a new user
if ($fo->isCUG(0))
{
if ($current['field']->type == 'u' AND array_get($fielddata,$current['fieldnum']) == 'NEW')
if ($current['field']->type == 't' AND array_get($fielddata,$current['fieldnum']) == 'NEW')
{
$action = ACTION_GOTO;
$page = ['frame'=>'981']; // @todo This should be in the DB.
@@ -392,7 +392,7 @@ abstract class Server {
$page = $ao->page;
} else {
$this->sendBaseline($client, RED . 'NO method exists...');
$this->sendBaseline($client, RED.'NO method exists...');
$mode = MODE_RFSENT;
}
@@ -404,9 +404,19 @@ abstract class Server {
$mode = MODE_RFNOTSENT;
// If a Control method was rejected, we can clear it
if ($control AND $method->count())
if ($control AND $method->count()) {
$method->pop();
if ($method->count()) {
$control = $method->last()->state['control'];
} else {
$mode = $save->state['mode'];
$action = $save->state['action'];
$control = FALSE;
}
}
break;
case STAR:
@@ -682,6 +692,19 @@ abstract class Server {
if ($history->count() > 1)
$history->pop();
if ($control AND $method->count()) {
$method->pop();
if ($method->count()) {
$control = $method->last()->state['control'];
} else {
$mode = $save->state['mode'];
$action = $save->state['action'];
$control = FALSE;
}
}
$page = $history->last();
$this->log('debug','Backing up to:',$page);