========================================================== pgforward.cgi started at Tue Nov 21 15:49:15 2023 TRequest::TRequest(TRequest::TMethod tm,TRequest::TEncType et) TRequest::_fillFromString(): Query string is empty. TRequest::_fillFromStream(): Raw data = |First+name=Miroslav&Family+name=Barta&Email=barta%40asu.cas.cz&Submit=Continue| Request length = 4 Formated data: Key: First name, value: Miroslav Key: Family name, value: Barta Key: Email, value: barta@asu.cas.cz Key: Submit, value: Continue TForm::TForm(TRequest::TMethod,TRequest::TEncType,const TXstring&) TCgi::TCgi(): Running with the EUID = 1111. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --> Start constructing the object. INFO: TFormResponse::TFormResponse(const TFormHandler*): --> Starting to construct the object. Response file name: /home/barta/public_html/axro.2023/processing/response/pay_response.html TFormResponse::TFormResponse(const TFormHandler* p): --| END. Object constructed with flags 70. TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): BEGIN. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs in the std::ios-mode=24 TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): Recorder created on top fo the file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the IO-mode=4 --END. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --| TFormHandler object constructed. Finishing. TgoPayForwarder::TgoPayForwarder(): Construction flags: 16 TCgi::acceptForProcessing(TRequest* request): --> BEGIN. TPayForm::clone() TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TCgi::setValidator(const TRequest* requestPattern): --> BEGIN. TValidator::TValidator(const TRequest* rp,const TCgi* parent): --> Beginning to construct the validator object based on pattern. ------- First name = Miroslav Family name = Barta Email = barta@asu.cas.cz Submit = Continue ------- TValidator::TValidator(const TRequest* rp,const TCgi* parent): --| Finished. Validation table length = 4 TCgi::setValidator(const TRequest* requestPattern): --| END. Status OK, default validator fitted to our accepted TRequest object. TpgForwarder::init(): --BEGIN. TpgForwarder::init(): --END. TCgi::acceptForProcessing(TRequest* request): --| END. Exiting with status OK TpgForwarder::exec(): --- BEGIN--- bool TFormResponse::open(const TXstring& hdr): BEGIN bool TFormResponse::openHTML(const TXstring& h) const: BEGIN full HTML fancy-header opennig. Response formatting flags: 6 TFormHandler::form() const TpgForwarder::exec(): Before branching Stage1/2. TpgForwarder::doBill(): --- exec() Stage 1 --- exec() Stage 1 starts. TValidator::check(const TRequest): ---START--- The validator info follows: =============================== --- --- Key=|First name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Family name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Email| Def.val.=|__undefined__| Checks: Check whether the field is not empty. Check whether the field can be an e-mail address. --- Key=|Submit| Def.val.=|__undefined__| Checks: --- --- --- =============================== TRequest::TRequest(const TRequest& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TValidator::check(const TRequest): Validating a line with the key First name ------------------------ Check for action Check whether the field is not empty. TValidator::check(const TRequest): Validating a line with the key Family name ------------------------ Check for action Check whether the field is not empty. TValidator::check(const TRequest): Validating a line with the key Email ------------------------ Check for action Check whether the field is not empty. Check for action Check whether the field can be an e-mail address. TValidator::check(const TRequest): Validating a line with the key Submit ------------------------ TValidator::check(const TRequest): --- END--- (OK) TpgForwarder::doBill(): --- exec() Stage 1 --- Payment form validation passed. The form contents follows: ------- TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) 4 37 AXRO 2023: On-line payment processing 0 0 19 2023-11-21 14:49:15 5 Email 16 barta@asu.cas.cz 11 Family name 5 Barta 10 First name 8 Miroslav 6 Submit 8 Continue ------- TForm::append() TForm::append() TForm::append() TForm::append() TpgForwarder::doBill() [ = exec() Stage 1 ] --- About to register the payment-form with the payment database. TRecorder::registerNew(TForm* newForm,const TXstring& id): A new request/form received. A new record will be (likely) created in the database in the next step. TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=PG data, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Payment status, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Error message, const int uniquePosition=-1) TpgForwarder::findRelatedRegistration(TForm* bestMatch): BEGIN -->. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/registrations.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/registrations.dbs openned in the std::ios-mode=24 TForm::matches(const TForm& right,const TKeyValArray& weightedKeys) TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=Balance, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Country, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Institution, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Paid, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Total, const int uniquePosition=-1) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=PG data, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Payment status, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Error message, const int uniquePosition=-1) TForm::matches(const TForm& right,const TKeyValArray& weightedKeys) TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=Balance, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Country, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Institution, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Paid, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Total, const int uniquePosition=-1) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=PG data, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Payment status, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Error message, const int uniquePosition=-1) TForm::matches(const TForm& right,const TKeyValArray& weightedKeys) TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=Balance, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Country, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Institution, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Paid, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Total, const int uniquePosition=-1) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=PG data, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Payment status, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Error message, const int uniquePosition=-1) TForm::matches(const TForm& right,const TKeyValArray& weightedKeys) TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=Balance, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Country, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Institution, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Paid, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Total, const int uniquePosition=-1) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=PG data, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Payment status, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Error message, const int uniquePosition=-1) TpgForwarder::findRelatedRegistration(TForm* bestMatch): --| END. Matched registration found. Matching score: 2.2, threshold: 1.0 bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending '
First Name:*
Family Name:*
e-mail:*
' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending ' ' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending '

Dear participant, please check and confirm your ' bool TFormResponse::append(const TXstring& data) Appending 'personal and payment data:

' bool TFormResponse::append(const TXstring& data) Appending 'First name: ' bool TFormResponse::append(const TXstring& data) Appending 'Miroslav
' bool TFormResponse::append(const TXstring& data) Appending 'Family name: ' bool TFormResponse::append(const TXstring& data) Appending 'Barta
' bool TFormResponse::append(const TXstring& data) Appending 'Institution: ' bool TFormResponse::append(const TXstring& data) Appending 'Astronomical Institute CAS
' bool TFormResponse::append(const TXstring& data) Appending 'Address: ' bool TFormResponse::append(const TXstring& data) Appending ' not present
' bool TFormResponse::append(const TXstring& data) Appending 'Town: ' bool TFormResponse::append(const TXstring& data) Appending ' not present
' bool TFormResponse::append(const TXstring& data) Appending 'Country: ' bool TFormResponse::append(const TXstring& data) Appending 'Czech Republic
' bool TFormResponse::append(const TXstring& data) Appending 'Payment balance: ' bool TFormResponse::append(const TXstring& data) Appending '-10.00 CZK
' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending ' ' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending '

In case of any dissagreement contact us, please, ' bool TFormResponse::append(const TXstring& data) Appending 'before the payment, at ' bool TFormResponse::append(const TXstring& data) Appending 'rene.hudec@asu.cas.cz to clarify the issue.

' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending ' ' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending ' ' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::close(const TXstring& ftr): BEGIN bool TFormResponse::closeHTML(const TXstring& footer) const: --> BEGIN full HTML footer closing. TResponse::send(): Sending relocation: |Location: https://www.asu.cas.cz/~barta/axro.2023/processing/response/pay_response.html | TFormHandler::~TFormHandler(): BEGIN TFormHandler::~TFormHandler(): --END TCgi::~TCgi(): BEGIN TCgi::~TCgi(): --END ========================================================== pgforward.cgi started at Tue Nov 21 15:49:40 2023 TRequest::TRequest(TRequest::TMethod tm,TRequest::TEncType et) TRequest::_fillFromString(): Query string is empty. TRequest::_fillFromStream(): Raw data = |First+name=Miroslav&Family+name=Barta&Email=barta%40asu.cas.cz&Registration+ID=registrations_0000&Balance=-10.00+CZK&Submit=Confirm| Request length = 6 Formated data: Key: First name, value: Miroslav Key: Family name, value: Barta Key: Email, value: barta@asu.cas.cz Key: Registration ID, value: registrations_0000 Key: Balance, value: -10.00 CZK Key: Submit, value: Confirm TForm::TForm(TRequest::TMethod,TRequest::TEncType,const TXstring&) TCgi::TCgi(): Running with the EUID = 1111. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --> Start constructing the object. INFO: TFormResponse::TFormResponse(const TFormHandler*): --> Starting to construct the object. Response file name: /home/barta/public_html/axro.2023/processing/response/pay_response.html TFormResponse::TFormResponse(const TFormHandler* p): --| END. Object constructed with flags 70. TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): BEGIN. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the std::ios-mode=24 TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): Recorder created on top fo the file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the IO-mode=4 --END. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --| TFormHandler object constructed. Finishing. TgoPayForwarder::TgoPayForwarder(): Construction flags: 16 TCgi::acceptForProcessing(TRequest* request): --> BEGIN. TPayForm::clone() TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Balance, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TCgi::setValidator(const TRequest* requestPattern): --> BEGIN. TValidator::TValidator(const TRequest* rp,const TCgi* parent): --> Beginning to construct the validator object based on pattern. ------- First name = Miroslav Family name = Barta Email = barta@asu.cas.cz Registration ID = registrations_0000 Balance = -10.00 CZK Submit = Confirm ------- TValidator::TValidator(const TRequest* rp,const TCgi* parent): --| Finished. Validation table length = 6 TCgi::setValidator(const TRequest* requestPattern): --| END. Status OK, default validator fitted to our accepted TRequest object. TpgForwarder::init(): --BEGIN. TpgForwarder::init(): --END. TCgi::acceptForProcessing(TRequest* request): --| END. Exiting with status OK TpgForwarder::exec(): --- BEGIN--- bool TFormResponse::open(const TXstring& hdr): BEGIN bool TFormResponse::openHTML(const TXstring& h) const: BEGIN full HTML fancy-header opennig. Response formatting flags: 6 TFormHandler::form() const TpgForwarder::exec(): Before branching Stage1/2. TpgForwarder::doPayment(): exec() Stage 2 starts. TValidator::check(const TRequest): ---START--- The validator info follows: =============================== --- --- Key=|First name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Family name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Email| Def.val.=|__undefined__| Checks: Check whether the field is not empty. Check whether the field can be an e-mail address. --- Key=|Registration ID| Def.val.=|__undefined__| Checks: --- Key=|Balance| Def.val.=|__undefined__| Checks: --- Key=|Submit| Def.val.=|__undefined__| Checks: --- --- --- =============================== TRequest::TRequest(const TRequest& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Balance, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TValidator::check(const TRequest): Validating a line with the key First name ------------------------ Check for action Check whether the field is not empty. TValidator::check(const TRequest): Validating a line with the key Family name ------------------------ Check for action Check whether the field is not empty. TValidator::check(const TRequest): Validating a line with the key Email ------------------------ Check for action Check whether the field is not empty. Check for action Check whether the field can be an e-mail address. TValidator::check(const TRequest): Validating a line with the key Registration ID ------------------------ TValidator::check(const TRequest): Validating a line with the key Balance ------------------------ TValidator::check(const TRequest): Validating a line with the key Submit ------------------------ TValidator::check(const TRequest): --- END--- (OK) TpgForwarder::doPayment()(): --- exec() Stage 2 --- Payment form validation passed. The form contents follows: ------- TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Balance, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) 6 37 AXRO 2023: On-line payment processing 0 0 19 2023-11-21 14:49:40 7 Balance 10 -10.00 CZK 5 Email 16 barta@asu.cas.cz 11 Family name 5 Barta 10 First name 8 Miroslav 15 Registration ID 18 registrations_0000 6 Submit 7 Confirm ------- TForm::remove(const TXstring& key=Balance,bool timeStampUpdate=false) TRequest::remove(const TXstring& key=Balance) TForm::append() TForm::append() TForm::append() TpgForwarder::doPayment() [ = exec() Stage 2 ]: About to update a record in the payment database. TRecorder::registerNew(TForm* newForm,const TXstring& id): TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TForm::operator-(): -------BEGIN------- TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Error message, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=PG data, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Payment status, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Error message, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=PG data, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Payment status, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TForm::operator-() -------END------- The form difference = 0.003 Similar record found in the database. The record in the DBS will be (likely) updated in the next step. TpgForwarder::doPayment(): Composing a URL/request to be redirected to the PG. TgoPayForwarder::setupPayment() ---> BEGIN TpgForwarder::setupPayment() ---> BEGIN TPayForm::orderNumber(): Form id: regfee_0000 version: 1 Conference ID: AXRO231201 TpgForwarder::setupPayment(): --Important attributes re-cap-- Order ID: AXRO231201101 Registration ID: registrations_0000 Amount in cents: 1000 TpgForwarder::setupPayment(): Using SSL for our listener/reporter? Yes TpgForwarder::setupPayment() <--- END TSubProcess::TSubProcess(const TXstring&,const TXstringArray&): Finished constructor on parent (child PID = 22210) TSubProcess::readOut() [parent]: Starting operation TSubProcess::readOut() [parent]: Closing openned write-end of the pipe. TSubProcess::TSubProcess(const TXstring&,const TXstringArray&): Finished constructor on child TSubProcess::exec() [child]: Starting execution of the sub-process. Will execute '/usr/bin/curl' with args ------------------- |-N| |https://gate.gopay.cz/api/oauth2/token| |-X| |POST| |-H| |Accept: application/json| |-H| |Content-Type: application/x-www-form-urlencoded| |-u| |1681175364:rJLxbJSC| |-d| |grant_type=client_credentials&scope=payment-create| ------------------- TSubProcess::exec() [child]: execv(): Executing the binary /usr/bin/curl with args curl -N https://gate.gopay.cz/api/oauth2/token -X POST -H Accept: application/json -H Content-Type: application/x-www-form-urlencoded -u 1681175364:rJLxbJSC -d grant_type=client_credentials&scope=payment-create Current working directory is /home/barta/public_html/cgi-bin/axro.2023 Current user/group IDs of the sub-process are: UID = 1111 EUID = 1111 SUID = 1111 GID = 100 EGID = 100 SGID = 100 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 344 100 294 100 50 672 114 --:--:-- --:--:-- --:--:-- 674 TXstring::fromFD(int fd) [static]: Finished FD read-out. TSubProcess::readOut() [parent]: Finishing on the parent with status 0, bytes read = 294 TSubProcess::finalize() [parent]: Begin clean-up operations. TSubProcess::finalize() [parent]: Closing openned read-end of the pipe. TSubProcess::finalize() [parent]: Child process with PID = 22210 finished. Child terminated normally: Yes, waitpid() return code = 0. TgoPayProcessor::retrieveAuthToken(): Auth token received: |Nxu55bMEZ7mS8z5XAms7ws7+mWqc6oYMNAjPD93Dd2kIrI0m/vWAe1dwRWpz7A1KVMcyA24ODMweXIIa3UfFcNFMj6F4/OpqY3jKQ0uhO6o=| TgoPayForwarder::setupPayment(): curl(1) called with args: ------------------- |-X| |POST| |https://gate.gopay.cz/api/payments/payment| |-H| |Authorization: Bearer Nxu55bMEZ7mS8z5XAms7ws7+mWqc6oYMNAjPD93Dd2kIrI0m/vWAe1dwRWpz7A1KVMcyA24ODMweXIIa3UfFcNFMj6F4/OpqY3jKQ0uhO6o=| |-H| |Content-Type: application/json| |-H| |Accept: application/json| |-d| |{ "payer": { "allowed_payment_instruments": ["PAYMENT_CARD"], "contact": {"email": "barta@asu.cas.cz"} }, "target": { "type": "ACCOUNT", "goid": 8263846712}, "amount": 1000, "currency": "EUR", "order_number": "AXRO231201101", "order_description": "AXRO 2023: Conference fees", "callback": { "return_url": "https://www.asu.cas.cz/~barta/cgi-bin/axro.2023/paystatus.cgi", "notification_url": "https://www.asu.cas.cz/~barta/cgi-bin/axro.2023/pglisten.cgi"}, "additional_params": [ {"name": "registration_id", "value": "registrations_0000" } ] } | ------------------- TSubProcess::TSubProcess(const TXstring&,const TXstringArray&): Finished constructor on parent (child PID = 22214) TSubProcess::readOut() [parent]: Starting operation TSubProcess::readOut() [parent]: Closing openned write-end of the pipe. TSubProcess::TSubProcess(const TXstring&,const TXstringArray&): Finished constructor on child TSubProcess::exec() [child]: Starting execution of the sub-process. Will execute '/usr/bin/curl' with args ------------------- |-X| |POST| |https://gate.gopay.cz/api/payments/payment| |-H| |Authorization: Bearer Nxu55bMEZ7mS8z5XAms7ws7+mWqc6oYMNAjPD93Dd2kIrI0m/vWAe1dwRWpz7A1KVMcyA24ODMweXIIa3UfFcNFMj6F4/OpqY3jKQ0uhO6o=| |-H| |Content-Type: application/json| |-H| |Accept: application/json| |-d| |{ "payer": { "allowed_payment_instruments": ["PAYMENT_CARD"], "contact": {"email": "barta@asu.cas.cz"} }, "target": { "type": "ACCOUNT", "goid": 8263846712}, "amount": 1000, "currency": "EUR", "order_number": "AXRO231201101", "order_description": "AXRO 2023: Conference fees", "callback": { "return_url": "https://www.asu.cas.cz/~barta/cgi-bin/axro.2023/paystatus.cgi", "notification_url": "https://www.asu.cas.cz/~barta/cgi-bin/axro.2023/pglisten.cgi"}, "additional_params": [ {"name": "registration_id", "value": "registrations_0000" } ] } | ------------------- TSubProcess::exec() [child]: execv(): Executing the binary /usr/bin/curl with args curl -X POST https://gate.gopay.cz/api/payments/payment -H Authorization: Bearer Nxu55bMEZ7mS8z5XAms7ws7+mWqc6oYMNAjPD93Dd2kIrI0m/vWAe1dwRWpz7A1KVMcyA24ODMweXIIa3UfFcNFMj6F4/OpqY3jKQ0uhO6o= -H Content-Type: application/json -H Accept: application/json -d { "payer": { "allowed_payment_instruments": ["PAYMENT_CARD"], "contact": {"email": "barta@asu.cas.cz"} }, "target": { "type": "ACCOUNT", "goid": 8263846712}, "amount": 1000, "currency": "EUR", "order_number": "AXRO231201101", "order_description": "AXRO 2023: Conference fees", "callback": { "return_url": "https://www.asu.cas.cz/~barta/cgi-bin/axro.2023/paystatus.cgi", "notification_url": "https://www.asu.cas.cz/~barta/cgi-bin/axro.2023/pglisten.cgi"}, "additional_params": [ {"name": "registration_id", "value": "registrations_0000" } ] } Current working directory is /home/barta/public_html/cgi-bin/axro.2023 Current user/group IDs of the sub-process are: UID = 1111 EUID = 1111 SUID = 1111 GID = 100 EGID = 100 SGID = 100 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 726 100 184 100 542 462 1363 --:--:-- --:--:-- --:--:-- 1361 TXstring::fromFD(int fd) [static]: Finished FD read-out. TSubProcess::readOut() [parent]: Finishing on the parent with status 0, bytes read = 184 TSubProcess::finalize() [parent]: Begin clean-up operations. TSubProcess::finalize() [parent]: Closing openned read-end of the pipe. TSubProcess::finalize() [parent]: Child process with PID = 22214 finished. Child terminated normally: Yes, waitpid() return code = 0. TgoPayForwarder::setPayment(): Failed to setup the payment at https://gate.gopay.cz/api/payments/payment. Server says: {"date_issued":"2023-11-21T15:49:41.140+0100","errors":[{"scope":"G","error_code":305,"error_name":"ESHOP_DEACTIVATED","message":"Payment can not be created. E-shop is deactivated."}]} TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Error message, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=PG data, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Payment status, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Payment status, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Error message, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=PG data, const int uniquePosition=-1) bool TResponse::open(): Generic open() method called. bool TResponse::open(): ERR: Response is relocated but no redirection URL set as an argument. bool TResponse::close(const TXstring& header): ERR: The response is not openned, returning. ---------------------------------------------------- 2023-11-21 14:49:40TpgForwarder::exec(): Message being sent to the PG follows: Status code: 17 / Request/form O.K. An update of the earlier form submission. Status message: Request/form O.K. An update of the earlier form submission. | Previous submission date: 2023-11-21 14:49:15. ---------------------------------------------------- TResponse::send(): Sending relocation: |Location: | TpgForwarder::doPayment(): exec() Stage 2 finished. TFormHandler::~TFormHandler(): BEGIN TFormHandler::~TFormHandler(): --END TCgi::~TCgi(): BEGIN TCgi::~TCgi(): --END ========================================================== pgforward.cgi started at Fri Dec 8 04:17:49 2023 TRequest::TRequest(TRequest::TMethod tm,TRequest::TEncType et) TRequest::_fillFromString(): Query string is empty. TRequest::_fillFromStream(): Simple URL encoding. Empty request or problem reading stdin. TForm::TForm(TRequest::TMethod,TRequest::TEncType,const TXstring&) TCgi::TCgi(): Running with the EUID = 1111. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --> Start constructing the object. INFO: TFormResponse::TFormResponse(const TFormHandler*): --> Starting to construct the object. Response file name: /home/barta/public_html/axro.2023/processing/response/pay_response.html TFormResponse::TFormResponse(const TFormHandler* p): --| END. Object constructed with flags 70. TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): BEGIN. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the std::ios-mode=24 TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): Recorder created on top fo the file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the IO-mode=4 --END. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --| TFormHandler object constructed. Finishing. TgoPayForwarder::TgoPayForwarder(): Construction flags: 16 TCgi::acceptForProcessing(TRequest* request): --> BEGIN. TPayForm::clone() TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::makeUnique() TCgi::setValidator(const TRequest* requestPattern): --> BEGIN. TValidator::TValidator(const TRequest* rp,const TCgi* parent): --> Beginning to construct the validator object based on pattern. ------- ------- TValidator::TValidator(const TRequest* rp,const TCgi* parent): --| Finished. Validation table length = 0 TCgi::setValidator(const TRequest* requestPattern): --| END. Status OK, default validator fitted to our accepted TRequest object. TpgForwarder::init(): --BEGIN. TpgForwarder::init(): --END. TCgi::acceptForProcessing(TRequest* request): --| END. Exiting with status OK TpgForwarder::exec(): --- BEGIN--- bool TFormResponse::open(const TXstring& hdr): BEGIN bool TFormResponse::openHTML(const TXstring& h) const: BEGIN full HTML fancy-header opennig. Response formatting flags: 6 TFormHandler::form() const TpgForwarder::exec(): Before branching Stage1/2. TpgForwarder::doPayment(): exec() Stage 2 starts. TValidator::check(const TRequest): ---START--- The validator info follows: =============================== --- --- Key=|First name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Family name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Email| Def.val.=|__undefined__| Checks: Check whether the field is not empty. Check whether the field can be an e-mail address. --- --- --- =============================== TRequest::TRequest(const TRequest& orig) TRequest::canonicalRep() TRequest::makeUnique() TValidator::check(const TRequest): Validating a line with the key First name ------------------------ TValidator::check(const TRequest): The key 'First name' is missing in the checked cgi-request/form. TpgForwarder::doPayment(): --- exec() Stage 2 --- Payment-form validation failed! The form contents follows: ------- TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() 0 37 AXRO 2023: On-line payment processing 0 0 19 2023-12-08 03:17:49 ------- TFormHandler::form() const bool TFormResponse::close(const TXstring& ftr): BEGIN bool TFormResponse::closeHTML(const TXstring& footer) const: --> BEGIN full HTML footer closing. TResponse::send(): Sending relocation: |Location: https://www.asu.cas.cz/~barta/axro.2023/processing/response/pay_response.html | TFormHandler::~TFormHandler(): BEGIN TFormHandler::~TFormHandler(): --END TCgi::~TCgi(): BEGIN TCgi::~TCgi(): --END ========================================================== pgforward.cgi started at Thu Feb 22 11:55:16 2024 TRequest::TRequest(TRequest::TMethod tm,TRequest::TEncType et) TRequest::_fillFromString(): Query string is empty. TRequest::_fillFromStream(): Raw data = |First+name=Miroslav&Family+name=Barta&Email=barta%40asu.cas.cz&Submit=Continue| Request length = 4 Formated data: Key: First name, value: Miroslav Key: Family name, value: Barta Key: Email, value: barta@asu.cas.cz Key: Submit, value: Continue TForm::TForm(TRequest::TMethod,TRequest::TEncType,const TXstring&) TCgi::TCgi(): Running with the EUID = 1111. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --> Start constructing the object. INFO: TFormResponse::TFormResponse(const TFormHandler*): --> Starting to construct the object. Response file name: /home/barta/public_html/axro.2023/processing/response/pay_response.html TFormResponse::TFormResponse(const TFormHandler* p): --| END. Object constructed with flags 70. TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): BEGIN. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the std::ios-mode=24 TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): Recorder created on top fo the file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the IO-mode=4 --END. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --| TFormHandler object constructed. Finishing. TgoPayForwarder::TgoPayForwarder(): Construction flags: 16 TCgi::acceptForProcessing(TRequest* request): --> BEGIN. TPayForm::clone() TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TCgi::setValidator(const TRequest* requestPattern): --> BEGIN. TValidator::TValidator(const TRequest* rp,const TCgi* parent): --> Beginning to construct the validator object based on pattern. ------- First name = Miroslav Family name = Barta Email = barta@asu.cas.cz Submit = Continue ------- TValidator::TValidator(const TRequest* rp,const TCgi* parent): --| Finished. Validation table length = 4 TCgi::setValidator(const TRequest* requestPattern): --| END. Status OK, default validator fitted to our accepted TRequest object. TpgForwarder::init(): --BEGIN. TpgForwarder::init(): --END. TCgi::acceptForProcessing(TRequest* request): --| END. Exiting with status OK TpgForwarder::exec(): --- BEGIN--- bool TFormResponse::open(const TXstring& hdr): BEGIN bool TFormResponse::openHTML(const TXstring& h) const: BEGIN full HTML fancy-header opennig. Response formatting flags: 6 TFormHandler::form() const TpgForwarder::exec(): Before branching Stage1/2. TpgForwarder::doBill(): --- exec() Stage 1 --- exec() Stage 1 starts. TValidator::check(const TRequest): ---START--- The validator info follows: =============================== --- --- Key=|First name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Family name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Email| Def.val.=|__undefined__| Checks: Check whether the field is not empty. Check whether the field can be an e-mail address. --- Key=|Submit| Def.val.=|__undefined__| Checks: --- --- --- =============================== TRequest::TRequest(const TRequest& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TValidator::check(const TRequest): Validating a line with the key First name ------------------------ Check for action Check whether the field is not empty. TValidator::check(const TRequest): Validating a line with the key Family name ------------------------ Check for action Check whether the field is not empty. TValidator::check(const TRequest): Validating a line with the key Email ------------------------ Check for action Check whether the field is not empty. Check for action Check whether the field can be an e-mail address. TValidator::check(const TRequest): Validating a line with the key Submit ------------------------ TValidator::check(const TRequest): --- END--- (OK) TpgForwarder::doBill(): --- exec() Stage 1 --- Payment form validation passed. The form contents follows: ------- TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) 4 37 AXRO 2023: On-line payment processing 0 0 19 2024-02-22 10:55:16 5 Email 16 barta@asu.cas.cz 11 Family name 5 Barta 10 First name 8 Miroslav 6 Submit 8 Continue ------- TForm::append() TForm::append() TForm::append() TForm::append() TpgForwarder::doBill() [ = exec() Stage 1 ] --- About to register the payment-form with the payment database. TRecorder::registerNew(TForm* newForm,const TXstring& id): TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TForm::operator-(): -------BEGIN------- TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Error message, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=PG data, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Payment status, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Error message, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=PG data, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Payment status, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TForm::operator-() -------END------- The form difference = 0.002 Similar record found in the database. The record in the DBS will be (likely) updated in the next step. TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Error message, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=PG data, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Payment status, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() TRequest::makeUnique(const TXstring& key=First name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Family name, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Email, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Submit, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Registration ID, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=PG data, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Payment status, const int uniquePosition=-1) TRequest::makeUnique(const TXstring& key=Error message, const int uniquePosition=-1) TpgForwarder::findRelatedRegistration(TForm* bestMatch): BEGIN -->. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/registrations.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/registrations.dbs openned in the std::ios-mode=24 TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending '
First Name:*
Family Name:*
e-mail:*
' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending ' ' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending '

Dear participant, please check and confirm your ' bool TFormResponse::append(const TXstring& data) Appending 'personal and payment data:

' bool TFormResponse::append(const TXstring& data) Appending 'First name: ' bool TFormResponse::append(const TXstring& data) Appending 'Miroslav
' bool TFormResponse::append(const TXstring& data) Appending 'Family name: ' bool TFormResponse::append(const TXstring& data) Appending 'Barta
' bool TFormResponse::append(const TXstring& data) Appending 'Institution: ' bool TFormResponse::append(const TXstring& data) Appending 'Astronomical Institute CAS
' bool TFormResponse::append(const TXstring& data) Appending 'Address: ' bool TFormResponse::append(const TXstring& data) Appending ' not present
' bool TFormResponse::append(const TXstring& data) Appending 'Town: ' bool TFormResponse::append(const TXstring& data) Appending ' not present
' bool TFormResponse::append(const TXstring& data) Appending 'Country: ' bool TFormResponse::append(const TXstring& data) Appending 'Czech Republic
' bool TFormResponse::append(const TXstring& data) Appending 'Payment balance: ' bool TFormResponse::append(const TXstring& data) Appending '-10.00 CZK
' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending ' ' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending '

In case of any dissagreement contact us, please, ' bool TFormResponse::append(const TXstring& data) Appending 'before the payment, at ' bool TFormResponse::append(const TXstring& data) Appending 'rene.hudec@asu.cas.cz to clarify the issue.

' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending ' ' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending ' ' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::close(const TXstring& ftr): BEGIN bool TFormResponse::closeHTML(const TXstring& footer) const: --> BEGIN full HTML footer closing. TResponse::send(): Sending relocation: |Location: https://www.asu.cas.cz/~barta/axro.2023/processing/response/pay_response.html | TFormHandler::~TFormHandler(): BEGIN TFormHandler::~TFormHandler(): --END TCgi::~TCgi(): BEGIN TCgi::~TCgi(): --END ========================================================== pgforward.cgi started at Mon Mar 18 17:27:01 2024 TRequest::TRequest(TRequest::TMethod tm,TRequest::TEncType et) TRequest::_fillFromString(): Query string is empty. TRequest::_fillFromStream(): Simple URL encoding. Empty request or problem reading stdin. TForm::TForm(TRequest::TMethod,TRequest::TEncType,const TXstring&) TCgi::TCgi(): Running with the EUID = 1111. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --> Start constructing the object. INFO: TFormResponse::TFormResponse(const TFormHandler*): --> Starting to construct the object. Response file name: /home/barta/public_html/axro.2023/processing/response/pay_response.html TFormResponse::TFormResponse(const TFormHandler* p): --| END. Object constructed with flags 70. TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): BEGIN. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the std::ios-mode=24 TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): Recorder created on top fo the file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the IO-mode=4 --END. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --| TFormHandler object constructed. Finishing. TgoPayForwarder::TgoPayForwarder(): Construction flags: 16 TCgi::acceptForProcessing(TRequest* request): --> BEGIN. TPayForm::clone() TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::makeUnique() TCgi::setValidator(const TRequest* requestPattern): --> BEGIN. TValidator::TValidator(const TRequest* rp,const TCgi* parent): --> Beginning to construct the validator object based on pattern. ------- ------- TValidator::TValidator(const TRequest* rp,const TCgi* parent): --| Finished. Validation table length = 0 TCgi::setValidator(const TRequest* requestPattern): --| END. Status OK, default validator fitted to our accepted TRequest object. TpgForwarder::init(): --BEGIN. TpgForwarder::init(): --END. TCgi::acceptForProcessing(TRequest* request): --| END. Exiting with status OK TpgForwarder::exec(): --- BEGIN--- bool TFormResponse::open(const TXstring& hdr): BEGIN bool TFormResponse::openHTML(const TXstring& h) const: BEGIN full HTML fancy-header opennig. Response formatting flags: 6 TFormHandler::form() const TpgForwarder::exec(): Before branching Stage1/2. TpgForwarder::doPayment(): exec() Stage 2 starts. TValidator::check(const TRequest): ---START--- The validator info follows: =============================== --- --- Key=|First name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Family name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Email| Def.val.=|__undefined__| Checks: Check whether the field is not empty. Check whether the field can be an e-mail address. --- --- --- =============================== TRequest::TRequest(const TRequest& orig) TRequest::canonicalRep() TRequest::makeUnique() TValidator::check(const TRequest): Validating a line with the key First name ------------------------ TValidator::check(const TRequest): The key 'First name' is missing in the checked cgi-request/form. TpgForwarder::doPayment(): --- exec() Stage 2 --- Payment-form validation failed! The form contents follows: ------- TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() 0 37 AXRO 2023: On-line payment processing 0 0 19 2024-03-18 16:27:01 ------- TFormHandler::form() const bool TFormResponse::close(const TXstring& ftr): BEGIN bool TFormResponse::closeHTML(const TXstring& footer) const: --> BEGIN full HTML footer closing. TResponse::send(): Sending relocation: |Location: https://www.asu.cas.cz/~barta/axro.2023/processing/response/pay_response.html | TFormHandler::~TFormHandler(): BEGIN TFormHandler::~TFormHandler(): --END TCgi::~TCgi(): BEGIN TCgi::~TCgi(): --END ========================================================== paystatus.cgi started at Mon May 27 16:15:47 2024 TRequest::TRequest(TRequest::TMethod tm,TRequest::TEncType et) TRequest::_fillFromString(): Query string is empty. TForm::TForm(TRequest::TMethod,TRequest::TEncType,const TXstring&) TCgi::TCgi(): Running with the EUID = 1111. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --> Start constructing the object. INFO: TFormResponse::TFormResponse(const TFormHandler*): --> Starting to construct the object. Response file name: /home/barta/public_html/axro.2023/processing/response/pay_response.html TFormResponse::TFormResponse(const TFormHandler* p): --| END. Object constructed with flags 70. TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): BEGIN. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the std::ios-mode=24 TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): Recorder created on top fo the file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the IO-mode=4 --END. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --| TFormHandler object constructed. Finishing. TgoPayStatReporter::TgoPayStatReporter(): Construction flags: 16 TCgi::acceptForProcessing(TRequest* request): --> BEGIN. TForm::clone() const TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::makeUnique() TCgi::setValidator(const TRequest* requestPattern): --> BEGIN. TValidator::TValidator(const TRequest* rp,const TCgi* parent): --> Beginning to construct the validator object based on pattern. ------- ------- TValidator::TValidator(const TRequest* rp,const TCgi* parent): --| Finished. Validation table length = 0 TCgi::setValidator(const TRequest* requestPattern): --| END. Status OK, default validator fitted to our accepted TRequest object. TgoPayStatReporter::init(): --BEGIN. TgoPayStatReporter::init(): --END. TCgi::acceptForProcessing(TRequest* request): --| END. Exiting with status OK TPayStatReporter::exec(): --- BEGIN--- bool TFormResponse::open(const TXstring& hdr): BEGIN bool TFormResponse::openHTML(const TXstring& h) const: BEGIN full HTML fancy-header opennig. Response formatting flags: 6 TFormHandler::form() const TValidator::check(const TRequest): ---START--- The validator info follows: =============================== --- --- Key=|id| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- --- --- =============================== TRequest::TRequest(const TRequest& orig) TRequest::canonicalRep() TRequest::makeUnique() TValidator::check(const TRequest): Validating a line with the key id ------------------------ TValidator::check(const TRequest): The key 'id' is missing in the checked cgi-request/form. TPayStatReporter::exec(): Invalid request. bool TFormResponse::append(const TXstring& data) Appending '

Dear participant,
the ' bool TFormResponse::append(const TXstring& data) Appending 'GoPay report for your ' bool TFormResponse::append(const TXstring& data) Appending 'payment for the AXRO 2023' bool TFormResponse::append(const TXstring& data) Appending 'has been received damaged and thus the status of ' bool TFormResponse::append(const TXstring& data) Appending 'your payment is unclear. Accumulated error message ' bool TFormResponse::append(const TXstring& data) Appending 'follows:

' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending 'PG notification invalid (e.g., incomlete). Payment status unclear (PG notification damaged). Details: PG notification invalid (e.g., incomlete). Payment status unclear (PG notification damaged).
Payment status unclear (PG notification damaged). ' bool TFormResponse::append(const TXstring& data) Appending '
' bool TFormResponse::append(const TXstring& data) Appending 'Please, contact us at ' bool TFormResponse::append(const TXstring& data) Appending '' bool TFormResponse::append(const TXstring& data) Appending 'rene.hudec@asu.cas.cz to analyse the problem and to suggest possible solution.

' bool TFormResponse::append(const TXstring& data) Appending '

' bool TFormResponse::append(const TXstring& data) Appending 'AXRO 2023 LOC

' bool TFormResponse::close(const TXstring& ftr): BEGIN bool TFormResponse::closeHTML(const TXstring& footer) const: --> BEGIN full HTML footer closing. TResponse::send(): Sending relocation: |Location: https://www.asu.cas.cz/~barta/axro.2023/processing/response/pay_response.html | TFormHandler::~TFormHandler(): BEGIN TFormHandler::~TFormHandler(): --END TCgi::~TCgi(): BEGIN TCgi::~TCgi(): --END ========================================================== pgforward.cgi started at Mon May 27 16:17:05 2024 TRequest::TRequest(TRequest::TMethod tm,TRequest::TEncType et) TRequest::_fillFromString(): Query string is empty. TRequest::_fillFromStream(): Simple URL encoding. Empty request or problem reading stdin. TForm::TForm(TRequest::TMethod,TRequest::TEncType,const TXstring&) TCgi::TCgi(): Running with the EUID = 1111. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --> Start constructing the object. INFO: TFormResponse::TFormResponse(const TFormHandler*): --> Starting to construct the object. Response file name: /home/barta/public_html/axro.2023/processing/response/pay_response.html TFormResponse::TFormResponse(const TFormHandler* p): --| END. Object constructed with flags 70. TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): BEGIN. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the std::ios-mode=24 TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): Recorder created on top fo the file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the IO-mode=4 --END. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --| TFormHandler object constructed. Finishing. TgoPayForwarder::TgoPayForwarder(): Construction flags: 16 TCgi::acceptForProcessing(TRequest* request): --> BEGIN. TPayForm::clone() TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::makeUnique() TCgi::setValidator(const TRequest* requestPattern): --> BEGIN. TValidator::TValidator(const TRequest* rp,const TCgi* parent): --> Beginning to construct the validator object based on pattern. ------- ------- TValidator::TValidator(const TRequest* rp,const TCgi* parent): --| Finished. Validation table length = 0 TCgi::setValidator(const TRequest* requestPattern): --| END. Status OK, default validator fitted to our accepted TRequest object. TpgForwarder::init(): --BEGIN. TpgForwarder::init(): --END. TCgi::acceptForProcessing(TRequest* request): --| END. Exiting with status OK TpgForwarder::exec(): --- BEGIN--- bool TFormResponse::open(const TXstring& hdr): BEGIN bool TFormResponse::openHTML(const TXstring& h) const: BEGIN full HTML fancy-header opennig. Response formatting flags: 6 TFormHandler::form() const TpgForwarder::exec(): Before branching Stage1/2. TpgForwarder::doPayment(): exec() Stage 2 starts. TValidator::check(const TRequest): ---START--- The validator info follows: =============================== --- --- Key=|First name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Family name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Email| Def.val.=|__undefined__| Checks: Check whether the field is not empty. Check whether the field can be an e-mail address. --- --- --- =============================== TRequest::TRequest(const TRequest& orig) TRequest::canonicalRep() TRequest::makeUnique() TValidator::check(const TRequest): Validating a line with the key First name ------------------------ TValidator::check(const TRequest): The key 'First name' is missing in the checked cgi-request/form. TpgForwarder::doPayment(): --- exec() Stage 2 --- Payment-form validation failed! The form contents follows: ------- TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() 0 37 AXRO 2023: On-line payment processing 0 0 19 2024-05-27 14:17:05 ------- TFormHandler::form() const bool TFormResponse::close(const TXstring& ftr): BEGIN bool TFormResponse::closeHTML(const TXstring& footer) const: --> BEGIN full HTML footer closing. TResponse::send(): Sending relocation: |Location: https://www.asu.cas.cz/~barta/axro.2023/processing/response/pay_response.html | TFormHandler::~TFormHandler(): BEGIN TFormHandler::~TFormHandler(): --END TCgi::~TCgi(): BEGIN TCgi::~TCgi(): --END ========================================================== pglisten.cgi started at Wed May 29 02:46:32 2024 TRequest::TRequest(TRequest::TMethod tm,TRequest::TEncType et) TRequest::_fillFromString(): Query string is empty. TCgi::TCgi(): Running with the EUID = 1111. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --> Start constructing the object. TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): BEGIN. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the std::ios-mode=24 TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): Recorder created on top fo the file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the IO-mode=4 --END. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --| TFormHandler object constructed. Finishing. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/registrations.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/registrations.dbs openned in the std::ios-mode=24 TgoPayListener::TgoPayListener(): Construction flags: 9 TCgi::acceptForProcessing(TRequest* request): --> BEGIN. TRequest::TRequest(const TRequest& orig) TRequest::makeUnique() TCgi::setValidator(const TRequest* requestPattern): --> BEGIN. TValidator::TValidator(const TRequest* rp,const TCgi* parent): --> Beginning to construct the validator object based on pattern. ------- ------- TValidator::TValidator(const TRequest* rp,const TCgi* parent): --| Finished. Validation table length = 0 TCgi::setValidator(const TRequest* requestPattern): --| END. Status OK, default validator fitted to our accepted TRequest object. TgoPayListener::init(): --BEGIN. TgoPayListener::init(): --END. TCgi::acceptForProcessing(TRequest* request): --| END. Exiting with status OK TpgListener::exec(): Entire PG notification follows: TValidator::check(const TRequest): ---START--- The validator info follows: =============================== --- --- Key=|id| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- --- --- =============================== TRequest::TRequest(const TRequest& orig) TRequest::canonicalRep() TRequest::makeUnique() TValidator::check(const TRequest): Validating a line with the key id ------------------------ TValidator::check(const TRequest): The key 'id' is missing in the checked cgi-request/form. TpgListener::exec(): Message from the PG failed integrity test: The key 'id' is missing in the checked cgi-request/form. TSmtpRelay::TSmtpRelay(const char* hostname,...): hostname = localhost port = 25 TSmtpRelay::send(): Mail-forwarder implementation via socked-connected SMTP server. TgoPayListener::respondToPG(int errCode) const: The response() sub-object actual type is N7cgi_lib9TResponseE bool TResponse::open(): Generic open() method called. TResponse::send(): Sending merely status: |200 OK| TFormHandler::~TFormHandler(): BEGIN TFormHandler::~TFormHandler(): --END TCgi::~TCgi(): BEGIN TCgi::~TCgi(): --END ========================================================== pglisten.cgi started at Wed May 29 11:36:38 2024 TRequest::TRequest(TRequest::TMethod tm,TRequest::TEncType et) TRequest::_fillFromString(): Query string is empty. TCgi::TCgi(): Running with the EUID = 1111. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --> Start constructing the object. TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): BEGIN. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the std::ios-mode=24 TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): Recorder created on top fo the file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the IO-mode=4 --END. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --| TFormHandler object constructed. Finishing. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/registrations.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/registrations.dbs openned in the std::ios-mode=24 TgoPayListener::TgoPayListener(): Construction flags: 9 TCgi::acceptForProcessing(TRequest* request): --> BEGIN. TRequest::TRequest(const TRequest& orig) TRequest::makeUnique() TCgi::setValidator(const TRequest* requestPattern): --> BEGIN. TValidator::TValidator(const TRequest* rp,const TCgi* parent): --> Beginning to construct the validator object based on pattern. ------- ------- TValidator::TValidator(const TRequest* rp,const TCgi* parent): --| Finished. Validation table length = 0 TCgi::setValidator(const TRequest* requestPattern): --| END. Status OK, default validator fitted to our accepted TRequest object. TgoPayListener::init(): --BEGIN. TgoPayListener::init(): --END. TCgi::acceptForProcessing(TRequest* request): --| END. Exiting with status OK TpgListener::exec(): Entire PG notification follows: TValidator::check(const TRequest): ---START--- The validator info follows: =============================== --- --- Key=|id| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- --- --- =============================== TRequest::TRequest(const TRequest& orig) TRequest::canonicalRep() TRequest::makeUnique() TValidator::check(const TRequest): Validating a line with the key id ------------------------ TValidator::check(const TRequest): The key 'id' is missing in the checked cgi-request/form. TpgListener::exec(): Message from the PG failed integrity test: The key 'id' is missing in the checked cgi-request/form. TSmtpRelay::TSmtpRelay(const char* hostname,...): hostname = localhost port = 25 TSmtpRelay::send(): Mail-forwarder implementation via socked-connected SMTP server. TgoPayListener::respondToPG(int errCode) const: The response() sub-object actual type is N7cgi_lib9TResponseE bool TResponse::open(): Generic open() method called. TResponse::send(): Sending merely status: |200 OK| TFormHandler::~TFormHandler(): BEGIN TFormHandler::~TFormHandler(): --END TCgi::~TCgi(): BEGIN TCgi::~TCgi(): --END ========================================================== pgforward.cgi started at Wed Jun 26 03:45:18 2024 TRequest::TRequest(TRequest::TMethod tm,TRequest::TEncType et) TRequest::_fillFromString(): Query string is empty. TRequest::_fillFromStream(): Simple URL encoding. Empty request or problem reading stdin. TForm::TForm(TRequest::TMethod,TRequest::TEncType,const TXstring&) TCgi::TCgi(): Running with the EUID = 1111. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --> Start constructing the object. INFO: TFormResponse::TFormResponse(const TFormHandler*): --> Starting to construct the object. Response file name: /home/barta/public_html/axro.2023/processing/response/pay_response.html TFormResponse::TFormResponse(const TFormHandler* p): --| END. Object constructed with flags 70. TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): BEGIN. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the std::ios-mode=24 TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): Recorder created on top fo the file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the IO-mode=4 --END. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --| TFormHandler object constructed. Finishing. TgoPayForwarder::TgoPayForwarder(): Construction flags: 16 TCgi::acceptForProcessing(TRequest* request): --> BEGIN. TPayForm::clone() TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::makeUnique() TCgi::setValidator(const TRequest* requestPattern): --> BEGIN. TValidator::TValidator(const TRequest* rp,const TCgi* parent): --> Beginning to construct the validator object based on pattern. ------- ------- TValidator::TValidator(const TRequest* rp,const TCgi* parent): --| Finished. Validation table length = 0 TCgi::setValidator(const TRequest* requestPattern): --| END. Status OK, default validator fitted to our accepted TRequest object. TpgForwarder::init(): --BEGIN. TpgForwarder::init(): --END. TCgi::acceptForProcessing(TRequest* request): --| END. Exiting with status OK TpgForwarder::exec(): --- BEGIN--- bool TFormResponse::open(const TXstring& hdr): BEGIN bool TFormResponse::openHTML(const TXstring& h) const: BEGIN full HTML fancy-header opennig. Response formatting flags: 6 TFormHandler::form() const TpgForwarder::exec(): Before branching Stage1/2. TpgForwarder::doPayment(): exec() Stage 2 starts. TValidator::check(const TRequest): ---START--- The validator info follows: =============================== --- --- Key=|First name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Family name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Email| Def.val.=|__undefined__| Checks: Check whether the field is not empty. Check whether the field can be an e-mail address. --- --- --- =============================== TRequest::TRequest(const TRequest& orig) TRequest::canonicalRep() TRequest::makeUnique() TValidator::check(const TRequest): Validating a line with the key First name ------------------------ TValidator::check(const TRequest): The key 'First name' is missing in the checked cgi-request/form. TpgForwarder::doPayment(): --- exec() Stage 2 --- Payment-form validation failed! The form contents follows: ------- TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() 0 37 AXRO 2023: On-line payment processing 0 0 19 2024-06-26 01:45:18 ------- TFormHandler::form() const bool TFormResponse::close(const TXstring& ftr): BEGIN bool TFormResponse::closeHTML(const TXstring& footer) const: --> BEGIN full HTML footer closing. TResponse::send(): Sending relocation: |Location: https://www.asu.cas.cz/~barta/axro.2023/processing/response/pay_response.html | TFormHandler::~TFormHandler(): BEGIN TFormHandler::~TFormHandler(): --END TCgi::~TCgi(): BEGIN TCgi::~TCgi(): --END ========================================================== pgforward.cgi started at Fri Jun 28 13:58:24 2024 TRequest::TRequest(TRequest::TMethod tm,TRequest::TEncType et) TRequest::_fillFromString(): Query string is empty. TRequest::_fillFromStream(): Simple URL encoding. Empty request or problem reading stdin. TForm::TForm(TRequest::TMethod,TRequest::TEncType,const TXstring&) TCgi::TCgi(): Running with the EUID = 1111. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --> Start constructing the object. INFO: TFormResponse::TFormResponse(const TFormHandler*): --> Starting to construct the object. Response file name: /home/barta/public_html/axro.2023/processing/response/pay_response.html TFormResponse::TFormResponse(const TFormHandler* p): --| END. Object constructed with flags 70. TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): BEGIN. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the std::ios-mode=24 TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): Recorder created on top fo the file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the IO-mode=4 --END. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --| TFormHandler object constructed. Finishing. TgoPayForwarder::TgoPayForwarder(): Construction flags: 16 TCgi::acceptForProcessing(TRequest* request): --> BEGIN. TPayForm::clone() TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::makeUnique() TCgi::setValidator(const TRequest* requestPattern): --> BEGIN. TValidator::TValidator(const TRequest* rp,const TCgi* parent): --> Beginning to construct the validator object based on pattern. ------- ------- TValidator::TValidator(const TRequest* rp,const TCgi* parent): --| Finished. Validation table length = 0 TCgi::setValidator(const TRequest* requestPattern): --| END. Status OK, default validator fitted to our accepted TRequest object. TpgForwarder::init(): --BEGIN. TpgForwarder::init(): --END. TCgi::acceptForProcessing(TRequest* request): --| END. Exiting with status OK TpgForwarder::exec(): --- BEGIN--- bool TFormResponse::open(const TXstring& hdr): BEGIN bool TFormResponse::openHTML(const TXstring& h) const: BEGIN full HTML fancy-header opennig. Response formatting flags: 6 TFormHandler::form() const TpgForwarder::exec(): Before branching Stage1/2. TpgForwarder::doPayment(): exec() Stage 2 starts. TValidator::check(const TRequest): ---START--- The validator info follows: =============================== --- --- Key=|First name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Family name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Email| Def.val.=|__undefined__| Checks: Check whether the field is not empty. Check whether the field can be an e-mail address. --- --- --- =============================== TRequest::TRequest(const TRequest& orig) TRequest::canonicalRep() TRequest::makeUnique() TValidator::check(const TRequest): Validating a line with the key First name ------------------------ TValidator::check(const TRequest): The key 'First name' is missing in the checked cgi-request/form. TpgForwarder::doPayment(): --- exec() Stage 2 --- Payment-form validation failed! The form contents follows: ------- TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() 0 37 AXRO 2023: On-line payment processing 0 0 19 2024-06-28 11:58:24 ------- TFormHandler::form() const bool TFormResponse::close(const TXstring& ftr): BEGIN bool TFormResponse::closeHTML(const TXstring& footer) const: --> BEGIN full HTML footer closing. TResponse::send(): Sending relocation: |Location: https://www.asu.cas.cz/~barta/axro.2023/processing/response/pay_response.html | TFormHandler::~TFormHandler(): BEGIN TFormHandler::~TFormHandler(): --END TCgi::~TCgi(): BEGIN TCgi::~TCgi(): --END ========================================================== pgforward.cgi started at Sun Jun 30 19:35:02 2024 TRequest::TRequest(TRequest::TMethod tm,TRequest::TEncType et) TRequest::_fillFromString(): Query string is empty. TRequest::_fillFromStream(): Simple URL encoding. Empty request or problem reading stdin. TForm::TForm(TRequest::TMethod,TRequest::TEncType,const TXstring&) TCgi::TCgi(): Running with the EUID = 1111. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --> Start constructing the object. INFO: TFormResponse::TFormResponse(const TFormHandler*): --> Starting to construct the object. Response file name: /home/barta/public_html/axro.2023/processing/response/pay_response.html TFormResponse::TFormResponse(const TFormHandler* p): --| END. Object constructed with flags 70. TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): BEGIN. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the std::ios-mode=24 TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): Recorder created on top fo the file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the IO-mode=4 --END. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --| TFormHandler object constructed. Finishing. TgoPayForwarder::TgoPayForwarder(): Construction flags: 16 TCgi::acceptForProcessing(TRequest* request): --> BEGIN. TPayForm::clone() TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::makeUnique() TCgi::setValidator(const TRequest* requestPattern): --> BEGIN. TValidator::TValidator(const TRequest* rp,const TCgi* parent): --> Beginning to construct the validator object based on pattern. ------- ------- TValidator::TValidator(const TRequest* rp,const TCgi* parent): --| Finished. Validation table length = 0 TCgi::setValidator(const TRequest* requestPattern): --| END. Status OK, default validator fitted to our accepted TRequest object. TpgForwarder::init(): --BEGIN. TpgForwarder::init(): --END. TCgi::acceptForProcessing(TRequest* request): --| END. Exiting with status OK TpgForwarder::exec(): --- BEGIN--- bool TFormResponse::open(const TXstring& hdr): BEGIN bool TFormResponse::openHTML(const TXstring& h) const: BEGIN full HTML fancy-header opennig. Response formatting flags: 6 TFormHandler::form() const TpgForwarder::exec(): Before branching Stage1/2. TpgForwarder::doPayment(): exec() Stage 2 starts. TValidator::check(const TRequest): ---START--- The validator info follows: =============================== --- --- Key=|First name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Family name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Email| Def.val.=|__undefined__| Checks: Check whether the field is not empty. Check whether the field can be an e-mail address. --- --- --- =============================== TRequest::TRequest(const TRequest& orig) TRequest::canonicalRep() TRequest::makeUnique() TValidator::check(const TRequest): Validating a line with the key First name ------------------------ TValidator::check(const TRequest): The key 'First name' is missing in the checked cgi-request/form. TpgForwarder::doPayment(): --- exec() Stage 2 --- Payment-form validation failed! The form contents follows: ------- TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() 0 37 AXRO 2023: On-line payment processing 0 0 19 2024-06-30 17:35:02 ------- TFormHandler::form() const bool TFormResponse::close(const TXstring& ftr): BEGIN bool TFormResponse::closeHTML(const TXstring& footer) const: --> BEGIN full HTML footer closing. TResponse::send(): Sending relocation: |Location: https://www.asu.cas.cz/~barta/axro.2023/processing/response/pay_response.html | TFormHandler::~TFormHandler(): BEGIN TFormHandler::~TFormHandler(): --END TCgi::~TCgi(): BEGIN TCgi::~TCgi(): --END ========================================================== pgforward.cgi started at Sat Jul 13 08:54:20 2024 TRequest::TRequest(TRequest::TMethod tm,TRequest::TEncType et) TRequest::_fillFromString(): Query string is empty. TRequest::_fillFromStream(): Simple URL encoding. Empty request or problem reading stdin. TForm::TForm(TRequest::TMethod,TRequest::TEncType,const TXstring&) TCgi::TCgi(): Running with the EUID = 1111. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --> Start constructing the object. INFO: TFormResponse::TFormResponse(const TFormHandler*): --> Starting to construct the object. Response file name: /home/barta/public_html/axro.2023/processing/response/pay_response.html TFormResponse::TFormResponse(const TFormHandler* p): --| END. Object constructed with flags 70. TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): BEGIN. TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): Trying to open file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs in the std::ios-mode=24 TRecorder::TRecorder(const TXstring& path,TCgi* cgi,int io_mode): File /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the std::ios-mode=24 TFormHandler::setRecorder(const TXstring& fileName, bool readOnly): Recorder created on top fo the file /home/barta/public_html/axro.2023/processing/dbs/regfee.dbs openned in the IO-mode=4 --END. TFormHandler::TFormHandler(const TSiteConfig* sConf, int propFlags): --| TFormHandler object constructed. Finishing. TgoPayForwarder::TgoPayForwarder(): Construction flags: 16 TCgi::acceptForProcessing(TRequest* request): --> BEGIN. TPayForm::clone() TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::makeUnique() TCgi::setValidator(const TRequest* requestPattern): --> BEGIN. TValidator::TValidator(const TRequest* rp,const TCgi* parent): --> Beginning to construct the validator object based on pattern. ------- ------- TValidator::TValidator(const TRequest* rp,const TCgi* parent): --| Finished. Validation table length = 0 TCgi::setValidator(const TRequest* requestPattern): --| END. Status OK, default validator fitted to our accepted TRequest object. TpgForwarder::init(): --BEGIN. TpgForwarder::init(): --END. TCgi::acceptForProcessing(TRequest* request): --| END. Exiting with status OK TpgForwarder::exec(): --- BEGIN--- bool TFormResponse::open(const TXstring& hdr): BEGIN bool TFormResponse::openHTML(const TXstring& h) const: BEGIN full HTML fancy-header opennig. Response formatting flags: 6 TFormHandler::form() const TpgForwarder::exec(): Before branching Stage1/2. TpgForwarder::doPayment(): exec() Stage 2 starts. TValidator::check(const TRequest): ---START--- The validator info follows: =============================== --- --- Key=|First name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Family name| Def.val.=|__undefined__| Checks: Check whether the field is not empty. --- Key=|Email| Def.val.=|__undefined__| Checks: Check whether the field is not empty. Check whether the field can be an e-mail address. --- --- --- =============================== TRequest::TRequest(const TRequest& orig) TRequest::canonicalRep() TRequest::makeUnique() TValidator::check(const TRequest): Validating a line with the key First name ------------------------ TValidator::check(const TRequest): The key 'First name' is missing in the checked cgi-request/form. TpgForwarder::doPayment(): --- exec() Stage 2 --- Payment-form validation failed! The form contents follows: ------- TRequest::TRequest(const TRequest& orig) TForm::TForm(const TForm& orig) TRequest::canonicalRep() TRequest::makeUnique() 0 37 AXRO 2023: On-line payment processing 0 0 19 2024-07-13 06:54:20 ------- TFormHandler::form() const bool TFormResponse::close(const TXstring& ftr): BEGIN bool TFormResponse::closeHTML(const TXstring& footer) const: --> BEGIN full HTML footer closing. TResponse::send(): Sending relocation: |Location: https://www.asu.cas.cz/~barta/axro.2023/processing/response/pay_response.html | TFormHandler::~TFormHandler(): BEGIN TFormHandler::~TFormHandler(): --END TCgi::~TCgi(): BEGIN TCgi::~TCgi(): --END