Merge branch 'master' of ssh://barant.com/git/JetCore

This commit is contained in:
brad Arant 2025-03-09 14:59:24 -07:00
commit 60affa288e
5 changed files with 29 additions and 9 deletions

View File

@ -1,8 +1,9 @@
#ifndef __Global_h__
#define __Global_h__
# define __Global_h__
#include "MString.h"
#include <map>
# include "MString.h"
# include "CGIFormattedData.h"
# include <map>
namespace jet {
@ -25,6 +26,8 @@ namespace jet {
void setupFormURLEncoded(coreutils::ZString &formdata);
char *errorCursor = NULL;
coreutils::CGIFormattedData cookies;
std::map<coreutils::MString, coreutils::MString> variables;
std::map<coreutils::MString, coreutils::MString> cgiVariables;
std::map<coreutils::MString, __mysql *> sessions;
@ -33,6 +36,7 @@ namespace jet {
char **envp;
bool cgi = false;
bool session = false;
coreutils::MString sessionId;
};

View File

@ -86,10 +86,21 @@ namespace jet {
} else
throw coreutils::Exception("Expecting ) at end of TRIM expression.");
} else if(in.ifNextIgnoreCase("TOUPPER")) {
if(!in.ifNext("("))
throw coreutils::Exception("Expecting ( for TOUPPER parameters.");
Operand parm1(in, tag);
if(in.ifNext(")")) {
string = parm1.string.toUpper();
} else
throw coreutils::Exception("Expecting ) at end of TOUPPER expression.");
} else if(in.ifNextIgnoreCase("TOLOWER")) {
if(!in.ifNext("("))
throw coreutils::Exception("Expecting ( for TOLOWER parameters.");
Operand parm1(in, tag);
if(in.ifNext(")")) {
string = parm1.string.toLower();
} else
throw coreutils::Exception("Expecting ) at end of TOLOWER expression.");
} else if(in.ifNextIgnoreCase("REVERSE")) {
} else if(in.ifNextIgnoreCase("CONCAT")) {

View File

@ -401,6 +401,9 @@ namespace jet {
} else if(variable.ifNext("%")) {
renderVariableName(variable, name, modifier);
return getenv(name.c_str());
} else if(variable.ifNext("^")) {
renderVariableName(variable, name, modifier);
return global.cookies.data[variable];
} else {
renderVariableName(variable, name, modifier);
name.split(".");

View File

@ -1,5 +1,6 @@
#include "__jet.h"
#include "Exception.h"
#include "Global.h"
#include <iostream>
#include <fstream>
#include <openssl/ssl.h>
@ -12,9 +13,7 @@ namespace jet {
global.cgi = true;
if(keywordDefined("sessiondir")) {
coreutils::ZString cookies = getenv("HTTP_COOKIE");
storeVariable("cookies", cookies, "global");
cookies = getenv("HTTP_COOKIE");
global.session = true;
// if request_has_cookie then
// pull sessionfile from sessiondir.

View File

@ -21,4 +21,7 @@ $[ix]
$[ix]
<set name="test64" value="this is a test" />
$[test64;tobase64]
$[test64;toupper]
<set name="testupperexpr" expr="toupper($[test64])" />
$[testupperexpr]
</jet>