Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: ModPerl: Embperl-cvs

cvs commit: embperl/xsbuilder/maps ep_structure.map

 

 

ModPerl embperl-cvs RSS feed   Index | Next | Previous | View Threaded


richter at apache

Nov 26, 2002, 3:03 AM

Post #1 of 1 (96 views)
Permalink
cvs commit: embperl/xsbuilder/maps ep_structure.map

richter 2002/11/26 02:03:45

Modified: . Changes.pod MANIFEST embperl.h epcfg.h epcgiinit.c
epdat2.h epdom.c epinit.c epmain.c epparse.c
eppriv.h eputil.c mod_embperl.c test.pl
Embperl/Syntax EmbperlBlocks.pm
eg/web base.epl config.pl content.epl menuleft.epl
messages.pl notfound.htm
eg/web/db/news data.epd
podsrc Config.spod
test testapp.pl
test/cmp i18n.htm
test/cmp2 i18n.htm
test/conf httpd.conf.src
test/html/app i18n.htm
xsbuilder/maps ep_structure.map
Added: eg/web/db index.htm
test/cmp xhtml.htm
test/html xhtml.htm
Log:
- website changes
- If no name is given for a key, Form::Validate now tries to lookup the correct
text via Embperl's gettext method.
- Fixed problem with message ids that are Perl keywords. Reported by Jaak.
- Added EMBPERL_COOKIE_SECURE option to transfer cookie only over a secure
connection.
- Added EMBPERL_OUTPUT_MODE that allows to change to XML output, which cause
generated tags to contains a closing slash, so they are valid XML/XHTML.

Revision Changes Path
1.192 +5 -0 embperl/Changes.pod

Index: Changes.pod
===================================================================
RCS file: /home/cvs/embperl/Changes.pod,v
retrieving revision 1.191
retrieving revision 1.192
diff -u -r1.191 -r1.192
--- Changes.pod 20 Nov 2002 06:56:25 -0000 1.191
+++ Changes.pod 26 Nov 2002 10:03:40 -0000 1.192
@@ -43,6 +43,11 @@
- Fixed segfault when cleanup is called to early. Reported by Neil Gunton.
- If no name is given for a key, Form::Validate now tries to lookup the correct
text via Embperl's gettext method.
+ - Fixed problem with message ids that are Perl keywords. Reported by Jaak.
+ - Added EMBPERL_COOKIE_SECURE option to transfer cookie only over a secure
+ connection.
+ - Added EMBPERL_OUTPUT_MODE that allows to change to XML output, which cause
+ generated tags to contains a closing slash, so they are valid XML/XHTML.

=head1 2.0b8 (BETA) 25. Juni 2002




1.76 +3 -0 embperl/MANIFEST

Index: MANIFEST
===================================================================
RCS file: /home/cvs/embperl/MANIFEST,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -r1.75 -r1.76
--- MANIFEST 20 Nov 2002 07:02:45 -0000 1.75
+++ MANIFEST 26 Nov 2002 10:03:40 -0000 1.76
@@ -105,6 +105,7 @@
eg/web/db/news/pod.xsl
eg/web/db/pod.xsl
eg/web/db/show.epl
+eg/web/db/index.htm
eg/web/db/login.epl
eg/web/db/loginform.epl
eg/web/db/list.epl
@@ -340,6 +341,7 @@
test/cmp/varepvar.htm
test/cmp/varerr.htm
test/cmp/varerr.htm56
+test/cmp/xhtml.htm
test/cmp2/epobless2.htm
test/cmp2/epobless3.htm
test/cmp2/epodiv.htm
@@ -548,6 +550,7 @@
test/html/xml/pod.xml
test/html/xml/pod.xsl
test/html/xml/podold.xsl
+test/html/xhtml.htm
test/html/errormismatch.htm
test/html/errormismatchcmd.htm
test/testapp.pl



1.31 +10 -1 embperl/embperl.h

Index: embperl.h
===================================================================
RCS file: /home/cvs/embperl/embperl.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- embperl.h 22 Oct 2002 05:29:04 -0000 1.30
+++ embperl.h 26 Nov 2002 10:03:40 -0000 1.31
@@ -92,6 +92,7 @@
rcRefcntNotOne,
rcApacheErr,
rcTooDeepNested,
+ rcUnknownOption,
rcForbidden = 403,
rcNotFound = 404,
rcDecline = -1
@@ -184,6 +185,14 @@
escXML = 8,

escStd = 7
+ } ;
+
+/* --- output mode --- */
+
+enum tOutputMode
+ {
+ omodeHtml = 0,
+ omodeXml = 1,
} ;

/* --- input escaping --- */



1.3 +13 -9 embperl/epcfg.h

Index: epcfg.h
===================================================================
RCS file: /home/cvs/embperl/epcfg.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- epcfg.h 22 Oct 2002 05:29:04 -0000 1.2
+++ epcfg.h 26 Nov 2002 10:03:40 -0000 1.3
@@ -5,14 +5,16 @@
#define SEPARATOR ":;"
#endif

+
+
#ifdef EPCFG_COMPONENT
/* tComponentConfig */

EPCFG_STR (ComponentConfig, char *, sPackage, PACKAGE)
-EPCFG_INT (ComponentConfig, unsigned, bDebug, DEBUG)
-EPCFG_INT (ComponentConfig, unsigned, bOptions, OPTIONS)
-EPCFG_INT (ComponentConfig, int , nEscMode, ESCMODE)
-EPCFG_INT (ComponentConfig, int , nInputEscMode, INPUT_ESCMODE)
+EPCFG_INTOPT (ComponentConfig, unsigned, bDebug, DEBUG)
+EPCFG_INTOPT (ComponentConfig, unsigned, bOptions, OPTIONS)
+EPCFG_INTOPT (ComponentConfig, int , nEscMode, ESCMODE)
+EPCFG_INTOPT (ComponentConfig, int , nInputEscMode, INPUT_ESCMODE)
EPCFG_STR (ComponentConfig, char *, sInputCharset, INPUT_CHARSET)
EPCFG_STR (ComponentConfig, char *, sCacheKey, CACHE_KEY)
EPCFG_INT (ComponentConfig, unsigned, bCacheKeyOptions, CACHE_KEY_OPTIONS)
@@ -34,9 +36,10 @@
EPCFG_REGEX(ReqConfig, CV *, pUriMatch, URIMATCH)
EPCFG_CHAR(ReqConfig, char , cMultFieldSep, MULTFIELDSEP )
EPCFG_AV (ReqConfig, AV *, pPathAV, PATH, SEPARATOR)
-EPCFG_INT (ReqConfig, unsigned, bDebug, DEBUG)
-EPCFG_INT (ReqConfig, unsigned, bOptions, OPTIONS)
-EPCFG_INT (ReqConfig, int , nSessionMode, SESSION_MODE)
+EPCFG_INTOPT (ReqConfig, unsigned, bDebug, DEBUG)
+EPCFG_INTOPT (ReqConfig, unsigned, bOptions, OPTIONS)
+EPCFG_INTOPT (ReqConfig, int , nSessionMode, SESSION_MODE)
+EPCFG_INTOPT (ReqConfig, int , nOutputMode, OUTPUT_MODE)
#endif


@@ -53,9 +56,10 @@
EPCFG_STR(AppConfig, char *, sCookieDomain, COOKIE_DOMAIN)
EPCFG_STR(AppConfig, char *, sCookiePath, COOKIE_PATH)
EPCFG_STR(AppConfig, char *, sCookieExpires, COOKIE_EXPIRES)
+EPCFG_BOOL(AppConfig, bool, bCookieSecure, COOKIE_SECURE)
EPCFG_STR(AppConfig, char *, sLog, LOG)
-EPCFG_INT(AppConfig, unsigned,bDebug, DEBUG)
-EPCFG_INT(AppConfig, bool, bMaildebug, MAILDEBUG)
+EPCFG_INTOPT(AppConfig, unsigned,bDebug, DEBUG)
+EPCFG_BOOL(AppConfig, bool, bMaildebug, MAILDEBUG)
EPCFG_STR(AppConfig, char *, sMailhost, MAILHOST)
EPCFG_STR(AppConfig, char *, sMailhelo, MAILHELO)
EPCFG_STR(AppConfig, char *, sMailfrom, MAILFROM)



1.3 +20 -1 embperl/epcgiinit.c

Index: epcgiinit.c
===================================================================
RCS file: /home/cvs/embperl/epcgiinit.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- epcgiinit.c 22 Oct 2002 05:29:04 -0000 1.2
+++ epcgiinit.c 26 Nov 2002 10:03:40 -0000 1.3
@@ -30,6 +30,25 @@
tainted = 0 ; \
}

+#define EPCFG_INTOPT(STRUCT,TYPE,NAME,CFGNAME) \
+ { \
+ char * p ; \
+ tainted = 0 ; \
+ p = GetHashValueStr (aTHX_ pThread -> pEnvHash, REDIR"EMBPERL_"#CFGNAME, NULL) ; \
+ if (p) \
+ if (isdigit(*p)) \
+ pConfig -> NAME = (TYPE)strtol (p, NULL, 0) ; \
+ else \
+ { \
+ int val ; \
+ int rc ; \
+ if (rc = embperl_OptionListSearch(Options##CFGNAME,1,#CFGNAME,p,&val)) \
+ return rc ; \
+ pConfig -> NAME = (TYPE)val ; \
+ } \
+ tainted = 0 ; \
+ }
+
#undef EPCFG_BOOL
#define EPCFG_BOOL(STRUCT,TYPE,NAME,CFGNAME) \
tainted = 0 ; \



1.3 +3 -1 embperl/epdat2.h

Index: epdat2.h
===================================================================
RCS file: /home/cvs/embperl/epdat2.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- epdat2.h 22 Oct 2002 05:29:05 -0000 1.2
+++ epdat2.h 26 Nov 2002 10:03:40 -0000 1.3
@@ -106,6 +106,7 @@
CV * pUriMatch ;
char cMultFieldSep ;
AV * pPathAV ;
+ int nOutputMode ;
unsigned bDebug ;
unsigned bOptions ;
int nSessionMode ; /**< sets how to pass the session id, see smodeXXX constants */
@@ -140,6 +141,7 @@
char * sCookieDomain ;
char * sCookiePath ;
char * sCookieExpires ;
+ bool bCookieSecure ;
char * sLog ;
unsigned bDebug ;
char * sMailhost ;



1.9 +5 -5 embperl/epdom.c

Index: epdom.c
===================================================================
RCS file: /home/cvs/embperl/epdom.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- epdom.c 20 Nov 2002 06:56:26 -0000 1.8
+++ epdom.c 26 Nov 2002 10:03:40 -0000 1.9
@@ -3356,11 +3356,11 @@
}
else
{
- pNodeStart = "<" ;
- pNodeEnd = ">" ;
nNodeStartLen = 1 ;
- nNodeEndLen = 1 ;
+ nNodeEndLen = r -> Config.nOutputMode == omodeXml && pNode -> nType == ntypTag?3:1 ;
nNodeNameLen = strlen (pNodeName) ;
+ pNodeStart = "<" ;
+ pNodeEnd = nNodeEndLen == 3?" />":">" ;
}

owrite (r, pNodeStart, nNodeStartLen) ;
@@ -3471,7 +3471,7 @@
{
oputs (r, "</") ;
oputs (r, Node_selfNodeName (pNode)) ;
- oputc (r, '>') ;
+ oputc (r, '>') ;
}
}
}



1.4 +120 -1 embperl/epinit.c

Index: epinit.c
===================================================================
RCS file: /home/cvs/embperl/epinit.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- epinit.c 15 Nov 2002 06:17:41 -0000 1.3
+++ epinit.c 26 Nov 2002 10:03:41 -0000 1.4
@@ -67,6 +67,125 @@

static tReq NullRequest ; /* a request object with all zero, to point for deleted objects */

+/* -------------------------------------------------------------------------
+*
+* Options lists for configuration
+*
+*/
+
+#define OPTION(a,b) { #a, a}, { #b, a},
+
+tOptionEntry OptionsDEBUG[] =
+ {
+ OPTION(dbgStd, std)
+ OPTION(dbgMem,Mem)
+ OPTION(dbgEval,Eval)
+ OPTION(dbgCmd,Cmd)
+ OPTION(dbgEnv,Env)
+ OPTION(dbgForm,Form)
+ OPTION(dbgTab,Tab)
+ OPTION(dbgInput,Input)
+ OPTION(dbgFlushOutput,FlushOutput)
+ OPTION(dbgFlushLog,FlushLog)
+ OPTION(dbgAllCmds,AllCmds)
+ OPTION(dbgSource,Source)
+ OPTION(dbgFunc,Func)
+ OPTION(dbgLogLink,LogLink)
+ OPTION(dbgDefEval,DefEval)
+ OPTION(dbgOutput,Output)
+ OPTION(dbgDOM,DOM)
+ OPTION(dbgRun,Run)
+ OPTION(dbgHeadersIn,HeadersIn)
+ OPTION(dbgShowCleanup,ShowCleanup)
+ OPTION(dbgProfile,Profile)
+ OPTION(dbgSession,Session)
+ OPTION(dbgImport,Import)
+ OPTION(dbgBuildToken,BuildToken)
+ OPTION(dbgParse,Parse)
+ OPTION(dbgObjectSearch,ObjectSearch)
+ OPTION(dbgCache,Cache)
+ OPTION(dbgCompile,Compile)
+ OPTION(dbgXML,XML)
+ OPTION(dbgXSLT,XSLT)
+ OPTION(dbgCheckpoint,Checkpoint)
+ OPTION(dbgAll,All)
+ } ;
+
+#define OPTION_OPT(a) OPTION(opt##a, a)
+
+tOptionEntry OptionsOPTIONS[] =
+ {
+ OPTION_OPT(DisableVarCleanup)
+ OPTION_OPT(DisableEmbperlErrorPage)
+ OPTION_OPT(SafeNamespace)
+ OPTION_OPT(OpcodeMask)
+ OPTION_OPT(RawInput)
+ OPTION_OPT(SendHttpHeader)
+ OPTION_OPT(EarlyHttpHeader)
+ OPTION_OPT(DisableChdir)
+ OPTION_OPT(DisableFormData)
+ OPTION_OPT(DisableHtmlScan)
+ OPTION_OPT(DisableInputScan)
+ OPTION_OPT(DisableTableScan)
+ OPTION_OPT(DisableMetaScan)
+ OPTION_OPT(AllFormData)
+ OPTION_OPT(RedirectStdout)
+ OPTION_OPT(UndefToEmptyValue)
+ OPTION_OPT(NoHiddenEmptyValue)
+ OPTION_OPT(AllowZeroFilesize)
+ OPTION_OPT(ReturnError)
+ OPTION_OPT(KeepSrcInMemory)
+ OPTION_OPT(KeepSpaces)
+ OPTION_OPT(OpenLogEarly)
+ OPTION_OPT(NoUncloseWarn)
+ OPTION_OPT(DisableSelectScan)
+ OPTION_OPT(ShowBacktrace)
+ OPTION_OPT(EnableChdir)
+ } ;
+
+
+#define OPTION_ESC(a) OPTION(esc##a, a)
+
+tOptionEntry OptionsESCMODE[] =
+ {
+ OPTION_ESC(None)
+ OPTION_ESC(Html)
+ OPTION_ESC(Url)
+ OPTION_ESC(Escape)
+ OPTION_ESC(XML)
+ OPTION_ESC(Std)
+ } ;
+
+
+#define OPTION_IESC(a) OPTION(iesc##a, a)
+
+tOptionEntry OptionsINPUT_ESCMODE[] =
+ {
+ OPTION_IESC(None)
+ OPTION_IESC(Html)
+ OPTION_IESC(Url)
+ OPTION_IESC(RemoveTags)
+ } ;
+
+#define OPTION_OMODE(a) OPTION(omode##a, a)
+
+tOptionEntry OptionsOUTPUT_MODE[] =
+ {
+ OPTION_OMODE(Html)
+ OPTION_OMODE(Xml)
+ } ;
+
+#define OPTION_SMODE(a) OPTION(smode##a, a)
+
+tOptionEntry OptionsSESSION_MODE[] =
+ {
+ OPTION_SMODE(None)
+ OPTION_SMODE(UDatCookie)
+ OPTION_SMODE(UDatParam)
+ OPTION_SMODE(UDatUrl)
+ OPTION_SMODE(SDatParam)
+ } ;
+

/*---------------------------------------------------------------------------
* embperl_SetupThread



1.120 +8 -1 embperl/epmain.c

Index: epmain.c
===================================================================
RCS file: /home/cvs/embperl/epmain.c,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -r1.119 -r1.120
--- epmain.c 22 Oct 2002 05:29:05 -0000 1.119
+++ epmain.c 26 Nov 2002 10:03:41 -0000 1.120
@@ -177,6 +177,7 @@
case rcRefcntNotOne: msg ="[%d]ERR: %d: %s There is still %s reference(s) to the %s object, while there shouldn't be any." ; break ;
case rcApacheErr: msg ="[%d]ERR: %d: %s Apache returns Error: %s %s" ; break ;
case rcTooDeepNested: msg ="[%d]ERR: %d: %s Source data is too deep nested %s %s" ; break ;
+ case rcUnknownOption: msg ="[%d]ERR: %d: %s Unkown option '%s' in configuration directive '%s'" ; break ;

default: msg ="[%d]ERR: %d: %s Error (no description) %s %s" ; break ;
}
@@ -497,6 +498,8 @@
pCookie = ep_pstrcat (r -> pPool, pCookie, "; domain=", pCfg -> sCookieDomain, NULL) ;
if (pCfg -> sCookiePath)
pCookie = ep_pstrcat (r -> pPool, pCookie, "; path=", pCfg -> sCookiePath, NULL) ;
+ if (pCfg -> bCookieSecure)
+ pCookie = ep_pstrcat (r -> pPool, pCookie, "; secure", NULL) ;
}

if (r -> Config.bDebug & dbgSession)
@@ -515,6 +518,8 @@
pCookie = ep_pstrcat (r -> pPool, pCookie, "; path=", pCfg -> sCookiePath, NULL) ;
if (pCfg -> sCookieExpires)
pCookie = ep_pstrcat (r -> pPool, pCookie, "; expires=", pCfg -> sCookieExpires, NULL) ;
+ if (pCfg -> bCookieSecure)
+ pCookie = ep_pstrcat (r -> pPool, pCookie, "; secure", NULL) ;

if (r -> Config.bDebug & dbgSession)
lprintf (r -> pApp, "[%d]SES: Send Cookie -> %s\n", r -> pThread -> nPid, pCookie) ;
@@ -522,6 +527,8 @@
else
{
pCookie = ep_pstrdup (r -> pPool, SvPV(pSVUID, ldummy)) ;
+ if (r -> Config.bDebug & dbgSession)
+ lprintf (r -> pApp, "[%d]SES: Add ID to URL type=%c id=%s\n", r -> pThread -> nPid, type, pCookie) ;
}
}
}



1.7 +8 -6 embperl/epparse.c

Index: epparse.c
===================================================================
RCS file: /home/cvs/embperl/epparse.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- epparse.c 22 Oct 2002 05:29:06 -0000 1.6
+++ epparse.c 26 Nov 2002 10:03:42 -0000 1.7
@@ -756,14 +756,15 @@
if (pEndCurr - pCurr && pToken -> nCDataType && pToken -> nCDataType != ntypCDATA)
{ /* add text before end of token as node */
char * pEnd = pEndCurr ;
+ char c;

if (pToken -> bRemoveSpaces & 32)
- while (pEnd >= pCurrStart && isspace (*pEnd))
+ while (pEnd > pCurrStart && isspace (*(pEnd-1)))
pEnd-- ;
else if (pToken -> bRemoveSpaces & 64)
- while (pEnd >= pCurrStart && (*pEnd == ' ' || *pEnd == '\t' || *pEnd == '\r'))
+ while (pEnd > pCurrStart && ((c = *(pEnd-1)) == ' ' || c == '\t' || c == '\r'))
pEnd-- ;
-
+
if (pToken -> bUnescape)
{
int newlen ;
@@ -931,12 +932,13 @@
{
int nLine ;
char * pEnd = pEndCurr ;
+ char c;

if (pToken -> bRemoveSpaces & 32)
- while (pEnd >= pCurrStart && isspace (*pEnd))
+ while (pEnd > pCurrStart && isspace (*(pEnd-1)))
pEnd-- ;
else if (pToken -> bRemoveSpaces & 64)
- while (pEnd >= pCurrStart && (*pEnd == ' ' || *pEnd == '\t' || *pEnd == '\r'))
+ while (pEnd > pCurrStart && ((c = *(pEnd-1)) == ' ' || c == '\t' || c == '\r'))
pEnd-- ;

if (pToken -> bUnescape)



1.3 +25 -1 embperl/eppriv.h

Index: eppriv.h
===================================================================
RCS file: /home/cvs/embperl/eppriv.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- eppriv.h 22 Oct 2002 05:29:06 -0000 1.2
+++ eppriv.h 26 Nov 2002 10:03:42 -0000 1.3
@@ -211,6 +211,30 @@
/*out*/ tReqParam * pParam) ;


+typedef struct tOptionEntry
+ {
+ const char * sOption ;
+ int nValue ;
+ } tOptionEntry ;
+
+extern tOptionEntry OptionsDEBUG[] ;
+extern tOptionEntry OptionsOPTIONS[] ;
+extern tOptionEntry OptionsESCMODE[] ;
+extern tOptionEntry OptionsINPUT_ESCMODE[] ;
+extern tOptionEntry OptionsOUTPUT_MODE[] ;
+extern tOptionEntry OptionsSESSION_MODE[] ;
+
+
+
+int embperl_OptionListSearch (/*in*/ tOptionEntry * pList,
+ /*in*/ bool bMult,
+ /*in*/ const char * sCmd,
+ /*in*/ const char * sOptions,
+ /*in*/ int * pnValue) ;
+
+
+
+
/* --- init --- */

#if 0



1.28 +88 -3 embperl/eputil.c

Index: eputil.c
===================================================================
RCS file: /home/cvs/embperl/eputil.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- eputil.c 22 Oct 2002 05:29:06 -0000 1.27
+++ eputil.c 26 Nov 2002 10:03:42 -0000 1.28
@@ -159,9 +159,9 @@

if (nEscMode >= 0)
{
- if (nEscMode & escXML && !r -> Component.bEscInUrl)
+ if ((nEscMode & escXML) && !r -> Component.bEscInUrl)
pEscTab = Char2XML ;
- if (nEscMode & escHtml && !r -> Component.bEscInUrl)
+ else if ((nEscMode & escHtml) && !r -> Component.bEscInUrl)
pEscTab = Char2Html ;
else if (nEscMode & escUrl)
pEscTab = Char2Url ;
@@ -1795,6 +1795,91 @@

return sMsgId ;
}
+
+
+/* ------------------------------------------------------------------------ */
+/* */
+/* embperl_OptionListSearch */
+/* */
+/*!
+* \_en
+* Lookup a number of options from a list and return numeric equivalent
+* @param pList Option/Valus pairs
+* @param bMult Allow multiple options
+* @param sCmd Configurationdirective (for errormessage)
+* @param sOptions Option string
+* @param pnValue Returns option value
+* @return error code
+*
+* \endif
+*
+* \_de
+* Ermittelt aus einer Liste von Optionen das numerische Equivalent
+* @param pList Option/Wertepaare
+* @param bMult Mehrfachoptionen erlaubt
+* @param sCmd Konfigurationsdirektive (für Fehlermeldung)
+* @param sOptions Optionszeichenkette
+* @param pnValue Liefert den Optionswert zurück
+* @return Fehlercode
+*
+* \endif
+*
+* ------------------------------------------------------------------------ */
+
+
+int embperl_OptionListSearch (/*in*/ tOptionEntry * pList,
+ /*in*/ bool bMult,
+ /*in*/ const char * sCmd,
+ /*in*/ const char * sOptions,
+ /*in*/ int * pnValue)
+ {
+ char * sKeyword ;
+ char * sOpts = strdup (sOptions) ;
+ dTHX ;
+
+ *pnValue = 0 ;
+
+ sKeyword = strtok (sOpts, ", \t\n") ;
+ while (sKeyword)
+ {
+ tOptionEntry * pEntry = pList ;
+ bool found = 0 ;
+
+ while (pEntry -> sOption)
+ {
+ if (stricmp (sKeyword, pEntry -> sOption) == 0)
+ {
+ *pnValue |= pEntry -> nValue ;
+ if (!bMult)
+ {
+ if (sOpts)
+ free (sOpts) ;
+
+ return ok ;
+ }
+ found = 1 ;
+ }
+ }
+ if (!found)
+ {
+ LogErrorParam (NULL, rcUnknownOption, sKeyword, sCmd) ;
+ if (sOpts)
+ free (sOpts) ;
+
+ return rcUnknownOption ;
+ }
+
+
+ }
+
+
+ if (sOpts)
+ free (sOpts) ;
+
+ return ok ;
+ }
+
+






1.3 +26 -2 embperl/mod_embperl.c

Index: mod_embperl.c
===================================================================
RCS file: /home/cvs/embperl/mod_embperl.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- mod_embperl.c 22 Oct 2002 05:29:06 -0000 1.2
+++ mod_embperl.c 26 Nov 2002 10:03:42 -0000 1.3
@@ -53,6 +53,7 @@

#define EPCFG_STR EPCFG
#define EPCFG_INT EPCFG
+#define EPCFG_INTOPT EPCFG
#define EPCFG_BOOL EPCFG
#define EPCFG_CHAR EPCFG

@@ -212,7 +213,7 @@
void embperl_ApacheAddModule (void)

{
- apr_pool_t * pool ;
+ /*apr_pool_t * pool ;*/

bApDebug |= ap_exists_config_define("EMBPERL_APDEBUG") ;

@@ -447,6 +448,7 @@

#undef EPCFG_STR
#undef EPCFG_INT
+#undef EPCFG_INTOPT
#undef EPCFG_BOOL
#undef EPCFG_CHAR
#undef EPCFG_CV
@@ -456,6 +458,7 @@
#undef EPCFG_REGEX

#define EPCFG_INT EPCFG
+#define EPCFG_INTOPT EPCFG
#define EPCFG_BOOL EPCFG
#define EPCFG_CHAR EPCFG

@@ -572,6 +575,25 @@
return NULL; \
}

+#undef EPCFG_INTOPT
+#define EPCFG_INTOPT(STRUCT,TYPE,NAME,CFGNAME) \
+const char * embperl_Apache_Config_##STRUCT##NAME (cmd_parms *cmd, /* tApacheDirConfig */ void * pDirCfg, const char * arg) \
+ { \
+ if (isdigit(*arg)) \
+ ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME = (TYPE)strtol(arg, NULL, 0) ; \
+ else \
+ { \
+ int val ; \
+ if (embperl_OptionListSearch(Options##CFGNAME,1,#CFGNAME,arg,&val)) \
+ return "Unknown Option" ; \
+ ((tApacheDirConfig *)pDirCfg) -> STRUCT.NAME = (TYPE)val ; \
+ } \
+ ((tApacheDirConfig *)pDirCfg) -> set_##STRUCT##NAME = 1 ; \
+ if (bApDebug) \
+ ap_log_error (APLOG_MARK, APLOG_WARNING | APLOG_NOERRNO, APLOG_STATUSCODE NULL, "Embperl: Set "#CFGNAME" (type="#TYPE";INT) = %s\n", arg) ; \
+ return NULL; \
+ }
+
#undef EPCFG_BOOL
#define EPCFG_BOOL(STRUCT,TYPE,NAME,CFGNAME) \
const char * embperl_Apache_Config_##STRUCT##NAME (cmd_parms *cmd, /* tApacheDirConfig */ void * pDirCfg, const char * arg) \
@@ -656,9 +678,11 @@

#undef EPCFG_STR
#undef EPCFG_INT
+#undef EPCFG_INTOPT
#undef EPCFG_BOOL
#undef EPCFG_CHAR
#define EPCFG_INT EPCFG
+#define EPCFG_INTOPT EPCFG
#define EPCFG_BOOL EPCFG
#define EPCFG_CHAR EPCFG
#undef EPCFG



1.120 +5 -1 embperl/test.pl

Index: test.pl
===================================================================
RCS file: /home/cvs/embperl/test.pl,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -r1.119 -r1.120
--- test.pl 22 Oct 2002 05:29:06 -0000 1.119
+++ test.pl 26 Nov 2002 10:03:42 -0000 1.120
@@ -972,6 +972,9 @@
'version' => 2,
'app_handler_class' => 'Embperl::TEST::App',
},
+ 'xhtml.htm' => {
+ 'version' => 2,
+ },
) ;

for ($i = 0 ; $i < @testdata; $i += 2)
@@ -1457,6 +1460,7 @@
}
$cookie = $c if (($c =~ /EMBPERL_UID/) && !($cookieaction =~ /nosave/)) ;
$cookie = undef if (($c =~ /EMBPERL_UID=;/) && !($cookieaction =~ /nosave/)) ;
+ $cookie =~ s/;.*$// if ($cookie) ;

$sendcookie ||= '' ;
print "\nSent: $sendcookie, Got: " , ($c||''), "\n" if ($opt_showcookie) ;



1.3 +4 -2 embperl/Embperl/Syntax/EmbperlBlocks.pm

Index: EmbperlBlocks.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Syntax/EmbperlBlocks.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- EmbperlBlocks.pm 22 Oct 2002 05:39:49 -0000 1.2
+++ EmbperlBlocks.pm 26 Nov 2002 10:03:44 -0000 1.3
@@ -482,11 +482,13 @@
'text' => '[=',
'end' => '=]',
'unescape' => 1,
+ removespaces => 72,
+ 'cdatatype' => ntypAttrValue,
'procinfo' => {
embperl => {
perlcode =>
[
- '_ep_rpid(%$x%,scalar(%#0%));',
+ '_ep_rpid(%$x%,scalar(%&\'<noname>%));',
],
removenode => 4,
compilechilds => 0,



1.3 +4 -7 embperl/eg/web/base.epl

Index: base.epl
===================================================================
RCS file: /home/cvs/embperl/eg/web/base.epl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- base.epl 22 Oct 2002 05:39:50 -0000 1.2
+++ base.epl 26 Nov 2002 10:03:44 -0000 1.3
@@ -24,7 +24,10 @@
.cTabsOn {[+ $base14 +] background: #ddaaaa; }
.cTabsOff {[+ $base14 +] background: #DDDDDD; }
.cMenu {[+ $base10 +] color: #000000 ; text-align: left ;}
+ .cMenuInfo {[+ $base10 +] color: #000000 ; text-align: left ; background: #D2E9F5 }
.cNews {[+ $base10 +]}
+ .cContent {[+ $base12 +] border-left: 1px black solid ; border-right: 1px black solid ; padding-left: 7px; padding-right: 7px; }
+ .cContentNews {[+ $base12 +] border-left: 1px black solid ; margin-left: 7px; padding-left: 7px; }

.cPodHeaderNavLink {[+ $base12 +]}
.cPodH1ContentLink {[+ $base12 +] font-weight: bold;}
@@ -54,13 +57,7 @@
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td valign="top">[- Execute ('menuleft.epl') -]</td>
- <td valign="top" width="2">&nbsp;</td>
- <td valign="top" height="100%"><img src="[+ $r -> {imageuri} +]frame.jpg" width="1" height="100%"></td>
- <td valign="top" width="10">&nbsp;</td>
- <td valign="top" width="90%">[- Execute ('content.epl') -]</td>
- <td valign="top" width="2">&nbsp;</td>
- <td valign="top" height="100%"><img src="[+ $r -> {imageuri} +]frame.jpg" width="1" height="100%"></td>
- <td valign="top" width="10">&nbsp;</td>
+ <td valign="top" width="90%" class="cContent">[- Execute ('content.epl') -]</td>
</tr>
</table>
[- Execute ('footer.htm') -]



1.4 +31 -3 embperl/eg/web/config.pl

Index: config.pl
===================================================================
RCS file: /home/cvs/embperl/eg/web/config.pl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- config.pl 20 Nov 2002 06:56:27 -0000 1.3
+++ config.pl 26 Nov 2002 10:03:44 -0000 1.4
@@ -68,11 +68,16 @@
'Changes' => 'Änderungen',
'Sites using Embperl' => 'Sites mit Embperl',
'Add info about Embperl' => 'Hinzufügen Infos',
+ 'More infos' => 'Weitere Infos',
'Enter info to add about Embperl' => 'Eingabe von Informationen zu Embperl',
'Show info added about Embperl' => 'Anzeige der gespeicherten Informationen zu Embperl',
'Infos about Embperl' => 'Informationen über Embperl',
'1.3.4 documentation' => '1.3.4 Dokumentation',
'Configuration' => 'Konfiguration',
+ 'Conferences' => 'Konferenzen',
+ 'Books' => 'Bücher',
+ 'Articles' => 'Artikel',
+ 'Modules & Examples' => 'Module & Beispiele',
}
) ;

@@ -193,9 +198,31 @@
{ menu => 'Support', uri => 'pod/doc/Embperl.-page-12-.htm' },
{ menu => 'Changes', uri => 'pod/Changes.htm', file => 'Changes.pod' },
#{ menu => 'Sites using Embperl', uri => 'pod/Sites.htm', file => 'Sites.pod' },
- { menu => 'News', uri => 'db/news/news.htm', file => 'eg/web/db/news/data.epd', fdat => { 'category_id' => 1 } },
- { menu => 'Sites using Embperl', uri => 'db/sites/sites.htm', file => 'eg/web/db/data.epd', fdat => { 'category_id' => 2 } },
- { menu => 'Login', uri => 'db/login.epl'},
+ { menu => 'More infos', uri => 'db/', sub =>
+ [.
+ { menu => 'News', uri => 'news/news.htm', file => 'eg/web/db/news/data.epd', fdat => { 'category_id' => 1 },
+ desc => { en => 'Full list of all news.',
+ de => 'Vollständige Liste aller Neuigkeiten.' }},
+ { menu => 'Sites using Embperl', uri => 'sites/sites.htm', file => 'eg/web/db/data.epd', fdat => { 'category_id' => 2 },
+ desc => { en => 'Descriptions of Websites that use Embperl.',
+ de => 'Beschreibung von Websites die Embperl einsetzen.' }},
+ { menu => 'Books', uri => 'sites/books.htm', file => 'eg/web/db/data.epd', fdat => { 'category_id' => 3 },
+ desc => { en => 'Books that contains informations about Embperl.',
+ de => 'Bücher die Embperl behandeln.' }},
+ { menu => 'Articles', uri => 'sites/articles.htm', file => 'eg/web/db/data.epd', fdat => { 'category_id' => 4 },
+ desc => { en => 'Articles that covers Embperl.',
+ de => 'Artikel die Embperl behandeln.' }},
+ { menu => 'Modules & Examples', uri => 'sites/examples.htm', file => 'eg/web/db/data.epd', fdat => { 'category_id' => 6 },
+ desc => { en => 'Modules and Examples with sourcecode for use/that uses Embperl.',
+ de => 'Modules und Beispiele incl. Quelltext zur/unter Benutzung von Embperl.' }},
+ { menu => 'Editorsupport', uri => 'sites/editors.htm', file => 'eg/web/db/data.epd', fdat => { 'category_id' => 5 },
+ desc => { en => 'Syntaxhighligthing and other support for editors.',
+ de => 'Syntaxhervorhebungen unter Unterstützung für Editoren.' }},
+ { menu => 'Conferences', uri => 'sites/conferences.htm', file => 'eg/web/db/data.epd', fdat => { 'category_id' => 7 },
+ desc => { en => 'Talks about Embperl.',
+ de => 'Vorträge über Embperl.' }},
+ ],
+ },
{ menu => 'Add info about Embperl', uri => 'db/addsel.epl', same =>
[.
{ menu => 'Enter info to add about Embperl', uri => 'db/add.epl' },
@@ -204,6 +231,7 @@
{ menu => 'Infos about Embperl', uri => 'db/list.epl' },
],
},
+ { menu => 'Login', uri => 'db/login.epl'},
) ;





1.3 +2 -5 embperl/eg/web/content.epl

Index: content.epl
===================================================================
RCS file: /home/cvs/embperl/eg/web/content.epl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- content.epl 22 Oct 2002 05:39:50 -0000 1.2
+++ content.epl 26 Nov 2002 10:03:44 -0000 1.3
@@ -7,11 +7,8 @@
<br>
#]
<br>
- <font size="2" face="Verdana, Arial, Helvetica, sans-serif">[- Execute ({inputfile => '*', syntax => 'Text'}) -]</td>
- <td valign="top" width="10">&nbsp;</td>
- <td valign="top" height="100%"><img src="[+ $r -> {imageuri} +]frame.jpg" width="1" height="100%"></td>
- <td valign="top" width="2">&nbsp;</td>
- <td valign="top" align="left" width="152"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
+ [- Execute ({inputfile => '*', syntax => 'Text'}) -]</td>
+ <td valign="top" align="left" width="152" class="cContentNews">
[- Execute ('news.epl') -]
</td>
</tr>



1.3 +20 -28 embperl/eg/web/menuleft.epl

Index: menuleft.epl
===================================================================
RCS file: /home/cvs/embperl/eg/web/menuleft.epl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- menuleft.epl 22 Oct 2002 05:39:50 -0000 1.2
+++ menuleft.epl 26 Nov 2002 10:03:44 -0000 1.3
@@ -8,9 +8,13 @@
<td align="left" [$if $tablebg $]background="[+ $r -> {imageuri} +]/hintergrund-nav.gif"[$endif$]>
<table width="152" border="0" cellspacing="0" cellpadding="0">
<tr>
- <td nowrap align="left" width=[+ $ndx * 15 + 2 +]>&nbsp;</td>
+ [$ if (defined($ndx)) $]
+ <td nowrap align="left" width=[+ $ndx * 12 + 2 +]>&nbsp;</td>
<td nowrap align="left" width=15><img src="[+ $r -> {imageuri} +]i-sub-[+ $state>1?($state>2?'on':'open'):'off' +].gif" width="11" height="11" vspace="6" hspace="5"></td>
- <td nowrap align="left" width=[+ 150 - $ndx * 15 +]><a href="[+ $app -> languri ($r, $url) +]"><div class="cMenu"><b>[+ $r -> gettext ($txt) +]</b></div></a></td>
+ <td nowrap align="left" width=[+ 125 - $ndx * 12 +]><a href="[+ $app -> languri ($r, $url) +]"><div class="cMenu">[+ $r -> gettext ($txt) +]</div></a></td>
+ [$else$]
+ <td nowrap with="152" height=22>&nbsp;&nbsp;&nbsp;&nbsp;[$ if $url $]<a href="[+ $app -> languri ($r, $url) +]">[$endif$]<span class="cMenu">[+ $r -> gettext ($txt) +]</span>[$ if $url $]</a>[$endif$]</td>
+ [$endif$]
</tr>
</table>
</td>
@@ -66,30 +70,18 @@
<tr>
<td><img src="[+ $r -> {imageuri} +]h_current-v.gif" width="152" height="19"></td>
</tr>
- <tr>
- <td><font face="Verdana, Arial, Helvetica, sans-serif" size="1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</font></td>
- </tr>
- <tr>
- <td><img src="[+ $r -> {imageuri} +]linie-nav.gif" width="152" height="1"></td>
- </tr>
- <tr>
- <td bgcolor="#D2E9F5"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Stable
- 1.3.4</b></font></td>
- </tr>
- <tr>
- <td><img src="[+ $r -> {imageuri} +]linie-nav.gif" width="152" height="1"></td>
- </tr>
- <tr>
- <td><img src="[+ $r -> {imageuri} +]transp.gif" width="152" height="5"></td>
- </tr>
- <tr>
- <td><img src="[+ $r -> {imageuri} +]linie-nav.gif" width="152" height="1"></td>
- </tr>
- <tr>
- <td bgcolor="#D2E9F5"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- Beta 2.0b8</b></font></td>
- </tr>
- <tr>
- <td><img src="[+ $r -> {imageuri} +]linie-nav.gif" width="152" height="1"></td>
- </tr>
+ <tr>
+ <td>&nbsp;</td>
+ </tr>
+ <tr>
+ <td><img src="[+ $r -> {imageuri} +]linie-nav.gif" width="152" height="1"></td>
+ </tr>
+ [- menuitem ('pod/doc/Embperl.-page-13-.htm', 'Stable 1.3.4', 0, 1) -]
+ <tr>
+ <td><img src="[+ $r -> {imageuri} +]linie-nav.gif" width="152" height="1"></td>
+ </tr>
+ [- menuitem ('pod/doc/Embperl.-page-13-.htm', 'Beta 2.0b8', 0, 1) -]
+ <tr>
+ <td><img src="[+ $r -> {imageuri} +]linie-nav.gif" width="152" height="1"></td>
+ </tr>
</table>



1.5 +2 -0 embperl/eg/web/messages.pl

Index: messages.pl
===================================================================
RCS file: /home/cvs/embperl/eg/web/messages.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- messages.pl 20 Nov 2002 21:29:38 -0000 1.4
+++ messages.pl 26 Nov 2002 10:03:44 -0000 1.5
@@ -75,6 +75,7 @@
'mail_subj_newpw' => 'Ihr neues Paßwort auf der Embperl Webseite',

# Errors
+ 'err_notfound' => 'Das angeforderte Dokument konnte nicht gefunden werden.',
'err_email_needed' => "Sie müssen eine E-Mail Adresse eingeben.",
'err_access_denied' => 'Zugriff verweigert. Entweder die E-Mail Adresse oder das Kennwort sind falsch.',
'err_user_exists' => 'Benutzer existiert bereits. Vielleicht möchten Sie ein neues Kennwort an diese Adresse senden?',
@@ -178,6 +179,7 @@
'mail_subj_newpw' => 'Your new Embperl Website password',

# Errors
+ 'err_notfound' => 'The document you requested wasn\'t found.',
'err_email_needed' => "You haven't entered an email address. This is mandatory for the requested action.",
'err_access_denied' => 'Access Denied. Either user name (e-mail address) or password were wrong.',
'err_user_exists' => 'User already exists. Perhaps you want a new password sent to this address?',



1.4 +8 -1 embperl/eg/web/notfound.htm

Index: notfound.htm
===================================================================
RCS file: /home/cvs/embperl/eg/web/notfound.htm,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- notfound.htm 20 Nov 2002 06:56:27 -0000 1.3
+++ notfound.htm 26 Nov 2002 10:03:44 -0000 1.4
@@ -1 +1,8 @@
-The document you requested wasn't found.
\ No newline at end of file
+<br>
+<br>
+<br>
+<br>
+<br>
+<center><div class="cHeadline">
+[= err_notfound =]
+</div></center>



1.1 embperl/eg/web/db/index.htm

Index: index.htm
===================================================================
<blockquote>
<br>
[$ if $_[0] -> param -> language eq 'de' $]
Hier finden Sie weitere Informationen und Links zu Embperl.
<br><br>
Wenn Sie Informationen/Hiweise/Links zu Embperl kennen, dann <a href="addsel.epl">fügen Sie sie einfach hinzu</a>
[$else$]
Here you find additional informations about Embperl.
<br><br>
If you know any further informations about Embperl, please <a href="addsel.epl">add</a> them to the site.
[$endif$]
<br>
<br>
[- Execute ('menulist.epl') -]
</blockquote>






1.3 +1 -1 embperl/eg/web/db/news/data.epd

Index: data.epd
===================================================================
RCS file: /home/cvs/embperl/eg/web/db/news/data.epd,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- data.epd 22 Oct 2002 05:39:50 -0000 1.2
+++ data.epd 26 Nov 2002 10:03:44 -0000 1.3
@@ -21,5 +21,5 @@

[+ $rec -> {description} +]

-[.$if $r -> {user_id} && $r -> {user_id} == $rec -> {user_id} $]L<[Edit]|../add.epl?item_id=[+ $rec -> {item_id} +]&amp;-edit_item=1> [$endif$]
+[$ if ($r->{user_id} && $r->{user_id} == $rec->{user_id}) || $r->{user_admin} $]L<Edit|../add.epl?item_id=[+ $rec->{item_id} +]&amp;-edit_item=1&amp;category_id=[+ $rec->{category_id} +]> | Status: [+ $r -> gettext ($r->{item_set}{state} ? 'display' : 'hide') +][$ endif $]
[$endwhile$]



1.4 +14 -0 embperl/podsrc/Config.spod

Index: Config.spod
===================================================================
RCS file: /home/cvs/embperl/podsrc/Config.spod,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- Config.spod 20 Nov 2002 06:56:28 -0000 1.3
+++ Config.spod 26 Nov 2002 10:03:45 -0000 1.4
@@ -369,6 +369,10 @@
Set the expiration date that Embperl uses for the cookie with the session id.
You can specify the full date or relativ values. Examples: +30s +10m +1h -1d +3M +10y

+=head2 *CFG $application / Embperl_COOKIE_SECURE / cookie_secure / 2.0b9 / no / at the end of the session / Session Handling
+
+Set the secure flag of cookie that Embperl uses for the session id. If set the
+cookie will only be transfered over a secured connection.

=head2 *CFG $application / Embperl_LOG / log / / no / Unix: /tmp/embperl.log Windows: /embperl.log

@@ -709,6 +713,16 @@


=back
+
+=head2 *CFG $request / Embperl_Output_Mode / output_mode / yes / 2.0b9 / HTML
+
+Set the desired output format. 0 for HTML and 1 XML. If set to XML all tags
+that are generated by Embperl will contain a closing slash to conform to XML
+specs. e.g.
+
+ <input type="text" name="foo" />
+
+B<NOTE:> If you set output_mode to XML you should also change L<escmode> to XML escaping.


=head2 *CFG $request / Embperl_SESSION_MODE / session_mode / no / 2.0b6 / smodeUDatCookie = 1



1.3 +2 -0 embperl/test/testapp.pl

Index: testapp.pl
===================================================================
RCS file: /home/cvs/embperl/test/testapp.pl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- testapp.pl 22 Oct 2002 06:06:47 -0000 1.2
+++ testapp.pl 26 Nov 2002 10:03:45 -0000 1.3
@@ -16,6 +16,7 @@
'heading' => 'Überschrift',
'url' => 'URL',
'show2' => 'Folgender Eintrag wurde erfolgreich der Datenbank hinzugefügt',
+ 'last' => 'last zwischen [= =]',
},
'en' =>
{
@@ -28,6 +29,7 @@
'heading' => 'Heading',
'url' => 'URL',
'show2' => 'The following entry has been sucessfully added to the database',
+ 'last' => 'last inside of [= =]',
},
) ;




1.3 +57 -1 embperl/test/cmp/i18n.htm

Index: i18n.htm
===================================================================
RCS file: /home/cvs/embperl/test/cmp/i18n.htm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- i18n.htm 20 Nov 2002 06:56:28 -0000 1.2
+++ i18n.htm 26 Nov 2002 10:03:45 -0000 1.3
@@ -67,4 +67,60 @@
heading = &Uuml;berschrift
add3 = Add to
</form>
-
+
+addsel1 = Klicken Sie auf die Kategorie zu der Sie etwas hinzuf&uuml;gen m&ouml;chten:<br>
+
+ next<br>
+
+ addsel1 (2) = Klicken Sie auf die Kategorie zu der Sie etwas hinzuf&uuml;gen m&ouml;chten:<br>
+
+addsel2 = oder f&uuml;gen Sie eine neue Kategorie hinzu. Bitte geben Sie die Beschreibung in so vielen Sprachen wie Ihnen m&ouml;glich ein.<br>
+
+ next<br>
+
+ addsel2 (2) = oder f&uuml;gen Sie eine neue Kategorie hinzu. Bitte geben Sie die Beschreibung in so vielen Sprachen wie Ihnen m&ouml;glich ein.<br>
+
+addsel3 = Falls Sie die &Uuml;bersetzung nicht wissen, lassen Sie das entsprechende Eingabefeld leer.<br>
+
+ next<br>
+
+ addsel3 (2) = Falls Sie die &Uuml;bersetzung nicht wissen, lassen Sie das entsprechende Eingabefeld leer.<br>
+
+addsel4 = Kategorie hinzuf&uuml;gen<br>
+
+ next<br>
+
+ addsel4 (2) = Kategorie hinzuf&uuml;gen<br>
+
+addsel1 = Klicken Sie auf die Kategorie zu der Sie etwas hinzuf&uuml;gen m&ouml;chten:<br>
+
+ last: last zwischen [= =]<br>
+
+addsel2 = oder f&uuml;gen Sie eine neue Kategorie hinzu. Bitte geben Sie die Beschreibung in so vielen Sprachen wie Ihnen m&ouml;glich ein.<br>
+
+ last: last zwischen [= =]<br>
+
+addsel3 = Falls Sie die &Uuml;bersetzung nicht wissen, lassen Sie das entsprechende Eingabefeld leer.<br>
+
+ last: last zwischen [= =]<br>
+
+addsel4 = Kategorie hinzuf&uuml;gen<br>
+
+ last: last zwischen [= =]<br>
+
+addsel1 = Klicken Sie auf die Kategorie zu der Sie etwas hinzuf&uuml;gen m&ouml;chten:<br>
+
+ last zwischen [= =]<br>
+
+addsel2 = oder f&uuml;gen Sie eine neue Kategorie hinzu. Bitte geben Sie die Beschreibung in so vielen Sprachen wie Ihnen m&ouml;glich ein.<br>
+
+ last zwischen [= =]<br>
+
+addsel3 = Falls Sie die &Uuml;bersetzung nicht wissen, lassen Sie das entsprechende Eingabefeld leer.<br>
+
+ last zwischen [= =]<br>
+
+addsel4 = Kategorie hinzuf&uuml;gen<br>
+
+ last zwischen [= =]<br>
+



1.1 embperl/test/cmp/xhtml.htm

Index: xhtml.htm
===================================================================
<html>
<head>
<title>Embperl Tests - XHTML output</title>
</head>

<body>

a <br>
<table>
<tr>
<td>1 </td>

<td>&apos;2&apos; </td>
</tr>

<tr>
<td>&quot;3&quot; </td>

<td>4 </td>
</tr>
</table>

<input type="hidden" name="a" value="1" /><input type="hidden" name="b" value="&apos;2&apos;" /><input type="hidden" name="c" value="&quot;3&quot;" />

<input type="text" name="b" value="&apos;2&apos;" />
<input type="text" name="c" value="&quot;3&quot;" />

</body>
</html>



1.2 +57 -1 embperl/test/cmp2/i18n.htm

Index: i18n.htm
===================================================================
RCS file: /home/cvs/embperl/test/cmp2/i18n.htm,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- i18n.htm 22 Oct 2002 05:45:13 -0000 1.1
+++ i18n.htm 26 Nov 2002 10:03:45 -0000 1.2
@@ -67,4 +67,60 @@
heading = &Uuml;berschrift
add3 = Add to
</form>
-
+
+addsel1 = Klicken Sie auf die Kategorie zu der Sie etwas hinzuf&uuml;gen m&ouml;chten:<br>
+
+ next<br>
+
+ addsel1 (2) = Klicken Sie auf die Kategorie zu der Sie etwas hinzuf&uuml;gen m&ouml;chten:<br>
+
+addsel2 = oder f&uuml;gen Sie eine neue Kategorie hinzu. Bitte geben Sie die Beschreibung in so vielen Sprachen wie Ihnen m&ouml;glich ein.<br>
+
+ next<br>
+
+ addsel2 (2) = oder f&uuml;gen Sie eine neue Kategorie hinzu. Bitte geben Sie die Beschreibung in so vielen Sprachen wie Ihnen m&ouml;glich ein.<br>
+
+addsel3 = Falls Sie die &Uuml;bersetzung nicht wissen, lassen Sie das entsprechende Eingabefeld leer.<br>
+
+ next<br>
+
+ addsel3 (2) = Falls Sie die &Uuml;bersetzung nicht wissen, lassen Sie das entsprechende Eingabefeld leer.<br>
+
+addsel4 = Kategorie hinzuf&uuml;gen<br>
+
+ next<br>
+
+ addsel4 (2) = Kategorie hinzuf&uuml;gen<br>
+
+addsel1 = Klicken Sie auf die Kategorie zu der Sie etwas hinzuf&uuml;gen m&ouml;chten:<br>
+
+ last: last zwischen [= =]<br>
+
+addsel2 = oder f&uuml;gen Sie eine neue Kategorie hinzu. Bitte geben Sie die Beschreibung in so vielen Sprachen wie Ihnen m&ouml;glich ein.<br>
+
+ last: last zwischen [= =]<br>
+
+addsel3 = Falls Sie die &Uuml;bersetzung nicht wissen, lassen Sie das entsprechende Eingabefeld leer.<br>
+
+ last: last zwischen [= =]<br>
+
+addsel4 = Kategorie hinzuf&uuml;gen<br>
+
+ last: last zwischen [= =]<br>
+
+addsel1 = Klicken Sie auf die Kategorie zu der Sie etwas hinzuf&uuml;gen m&ouml;chten:<br>
+
+ last zwischen [= =]<br>
+
+addsel2 = oder f&uuml;gen Sie eine neue Kategorie hinzu. Bitte geben Sie die Beschreibung in so vielen Sprachen wie Ihnen m&ouml;glich ein.<br>
+
+ last zwischen [= =]<br>
+
+addsel3 = Falls Sie die &Uuml;bersetzung nicht wissen, lassen Sie das entsprechende Eingabefeld leer.<br>
+
+ last zwischen [= =]<br>
+
+addsel4 = Kategorie hinzuf&uuml;gen<br>
+
+ last zwischen [= =]<br>
+



1.49 +3 -1 embperl/test/conf/httpd.conf.src

Index: httpd.conf.src
===================================================================
RCS file: /home/cvs/embperl/test/conf/httpd.conf.src,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- httpd.conf.src 22 Oct 2002 05:29:10 -0000 1.48
+++ httpd.conf.src 26 Nov 2002 10:03:45 -0000 1.49
@@ -129,6 +129,7 @@

print OFH <<EOD ;

+Embperl_Cookie_Path /
EMBPERL_ALLOW (asc|\\.xml\$|\\.htm\$)


@@ -572,6 +573,7 @@
</Location>

<Location /eg/web/conf>
+EMBPERL_APPNAME EmbperlConf
EMBPERL_RECIPE EmbperlLibXSLT
EMBPERL_XSLTSTYLESHEET \"$EPPATH/eg/web/conf/pod.xsl\"
EMBPERL_SYNTAX POD



1.1 embperl/test/html/xhtml.htm

Index: xhtml.htm
===================================================================
[.-
$r = shift ;
$r -> config -> output_mode (1) ;
$escmode = 12 ;
-]

<html>
<head>
<title>Embperl Tests - XHTML output</title>
</head>

<body>

[- $a = 1 -]

[$if $a$]
a <br>
[$ endif$]

[-

@c = ([1,"'2'"],['"3"',4]) ;
-]


<table>
<tr>
<td>[+ $c[$row][$col] +] </td>
</tr>
</table>

[.-
%fdat = ( a => 1, b => "'2'", c => '"3"') ;
@ffld = keys %fdat ;
-]

[$hidden$]

<input type="text" name="b">
<input type="text" name="c">

</body>
</html>



1.3 +31 -0 embperl/test/html/app/i18n.htm

Index: i18n.htm
===================================================================
RCS file: /home/cvs/embperl/test/html/app/i18n.htm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- i18n.htm 20 Nov 2002 06:56:28 -0000 1.2
+++ i18n.htm 26 Nov 2002 10:03:45 -0000 1.3
@@ -57,4 +57,35 @@


</form>
+
+[$ foreach $i (1..4) $]
+
+ addsel[+$i +] = [+ $r -> gettext ("addsel$i") +]<br>
+
+ [= next =]<br>
+
+ addsel[+$i +] (2) = [+ $r -> gettext ("addsel$i") +]<br>
+
+[$endforeach$]
+
+[$ foreach $i (1..4) $]
+
+ addsel[+$i +] = [+ $r -> gettext ("addsel$i") +]<br>
+
+ last: [= last =]<br>
+
+[$endforeach$]
+
+
+
+[$ foreach $i (1..4) $]
+
+ addsel[+$i +] = [+ $r -> gettext ("addsel$i") +]<br>
+
+ [= last =]<br>
+
+[$endforeach$]
+
+
+




1.3 +2 -0 embperl/xsbuilder/maps/ep_structure.map

Index: ep_structure.map
===================================================================
RCS file: /home/cvs/embperl/xsbuilder/maps/ep_structure.map,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ep_structure.map 22 Oct 2002 05:39:51 -0000 1.2
+++ ep_structure.map 26 Nov 2002 10:03:45 -0000 1.3
@@ -95,6 +95,7 @@
sCookieDomain | cookie_domain
sCookiePath | cookie_path
sCookieExpires | cookie_expires
+ bCookieSecure | cookie_secure
sLog | log
bDebug | debug
sMailhost | mailhost
@@ -231,6 +232,7 @@
bDebug | debug
bOptions | options
nSessionMode | session_mode
+ nOutputMode | output_mode
new
! private
</tReqConfig>




---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe [at] perl
For additional commands, e-mail: embperl-cvs-help [at] perl

ModPerl embperl-cvs RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.