|
|
| version 1.53, 2002/04/25 14:35:20 | version 1.141, 2002/09/17 09:30:07 |
|---|---|
| Line 1 | Line 1 |
| @USE | @USE |
| t.p | /derived.p |
| @autoz[] | @auto[filespec] |
| $selffilespec[$filespec] | |
| #$form:here | |
| #$request:charset[UTF-8] | |
| $request:charset[windows-1251] | $request:charset[windows-1251] |
| $response:charset[windows-1251] | $response:charset[windows-1251] |
| $response:content-type[$.value[text/html]$.charset[$response:charset]] | #$response:charset[UTF-8] |
| #$response:charset[empty] | |
| @postprocess[body] | #$response:content-type[$.value[text/html]$.charset[$response:charset]] |
| $body | |
| <hr> | #@postprocess[body] |
| OK | #<b>$body</b> |
| #$result[123] | |
| @main[] | @main[] |
| #^sqldefaults[] | #$a(123) |
| #^a.format[%.10u] | |
| #$result[111] | |
| #^f[a] | |
| #^connect[mysql://mdm:4b833ljq@db-mysql/mdm]{ | |
| # ^int:sql{select news_id from news where news_id=-1}[ | |
| ## $.default{2} | |
| # ]<br> | |
| # ^hash::sql{bad} | |
| # ^string:sql{select news_id from news where news_id=-1}[$.default{2}] | |
| # ^file::load[text;^string:sql{select 'from sql server' }] | |
| # ^string:sql{select '^^hello[]' }] $ORIGINS(1) | |
| # ^process{ ^^h[]} | |
| # ^process{^string:sql{select '1 | |
| # ^^hello[]' }] } | |
| # ^double:sql{select '2*' ^; } | |
| #$card_sequence_expect_no(^double:sql{select 20020909131047 #card_sequence_expect_no from card_sequence}) | |
| #^card_sequence_expect_no.format[%15.f] | |
| #} | |
| #^eval(2) | #^eval(2) |
| #^tcrashlocaljunctionsv2[] | #^tcrashlocaljunctionsv2[] |
| #^tcrashlocaljunctions[] | #^tcrashlocaljunctions[] |
| Line 33 OK | Line 55 OK |
| #^subjvaltest[] | #^subjvaltest[] |
| #^tableselect0[] | #^tableselect0[] |
| #^memnotest1[] | #^memnotest1[] |
| #^transparams[] | |
| #^voidparams[] | #^voidparams[] |
| #^rolls2[] | #^rolls2[] |
| #^cacheexpireschanging[] | #^cacheexpireschanging[] |
| Line 63 OK | Line 84 OK |
| #^precisionProblem[] | #^precisionProblem[] |
| #^xpath[] | #^xpath[] |
| #^ttablesetlang[] | #^ttablesetlang[] |
| #^mail3[] | |
| #^ttime[] | #^ttime[] |
| #^tupper[] | #^tupper[] |
| #^treplace[] | #^treplace[] |
| Line 121 OK | Line 141 OK |
| #$t[^methresult[]] ->$t | #$t[^methresult[]] ->$t |
| #^terror[] | #^terror[] |
| #^ssave[] | #^ssave[] |
| #^calendar[] | |
| #^thash[] | #^thash[] |
| #^tdef[] | #^tdef[] |
| #^ford[] | #^ford[] |
| #^tif[] | #^tif[] |
| #^image[] | #^image[] |
| #^mail2[] | |
| #^cookie[] | |
| #^response[] | #^response[] |
| #^regexp2[] | #^regexp2[] |
| #^ttablerem[] | #^ttablerem[] |
| #^pcre[] | #^pcre[] |
| #^regexp[]<hr> | #^regexp[]<hr> |
| #^mail[] | #^mail[] |
| #^exec[] | |
| #^fori[] | #^fori[] |
| #^tconnect[] | #^tconnect[] |
| #^xslt[] | #^xslt[] |
| #^xml[] | #^xml[] |
| #^header[] | #^header[] |
| #^tablehasht[] | #^tablehasht[] |
| ^datecreatestring[] | #^datecreatestring[] |
| #^mssqltypes1[] | |
| #^badthrows[] | |
| #^xmlspace[] | |
| #^counter[main.counter] | |
| #^xpath2[] | |
| #^callindirect[] | |
| #^junctionprob[] | |
| #^datecreatestring2[] | |
| #^tstoredproc[] | |
| #^tstoredproc2[] | |
| #^forkeys[] | |
| #^pngsize[] | |
| #^checkList[] | |
| #^datetest[] | |
| #^tserge[] | |
| #^envt[] | |
| #^selectt[] | |
| #^select2[] | |
| #^selectSingle2[] | |
| #^selectString2[] | |
| #^selectNumber2[] | |
| #^selectBool2[] | |
| #^xdoccreate[] | |
| #^xdoccreatetag[] | |
| #^xdocload[] | |
| #^xdocstring[] | |
| #^xdocsave[] | |
| #^div[] | |
| #^datecreatestring3[] | |
| #^tfilespec[] | |
| #^tcrypt[] | |
| #^cryptdocsample[] | |
| #^tnormalize[] | |
| #^xmltransformbyxdoc[] | |
| #^sergestrandef[] | |
| #^tstdin[] | |
| #^tfind[] | |
| #^mimet[] | |
| #^joinlimit[] | |
| #^tableclonelimit[] | |
| #^transparams[] | |
| #^sendtests[] | |
| #^wwrapperpass[] | |
| #^badpos[] | |
| #^processtest[] | |
| #^mail3[] | |
| #^mail4[] | |
| #^datesaving[] | |
| #^badconstructor[] | |
| #^calendar[] | |
| #^monthdays(8) | |
| #^xdoctypetest[] | |
| #^xtabletest[] | |
| #^staticstest[] | |
| #^staticstest2[] | |
| #^rbodytest[] | |
| #^cookie[] | |
| #^cookieexpirestest[] | |
| #^postest[] | |
| #^voidpostest[] | |
| #^virtualtest[] | |
| #^badcolumntest[] | |
| #^delimiters[] | |
| #^новый-split[] | |
| #^грязные-cookie[] | |
| #^html-почта[] | |
| #^badswitchtest[] | |
| #^okswitchtest[] | |
| #^cgit[] | |
| #^ttransformsep[] | |
| #^calltest[] | |
| #^xpath3[] | |
| #^doubleliterals[] | |
| #^newxor[] | |
| #^mail2[] | |
| #^exec[] | |
| #^passpost[] | |
| #^menudelim[] | |
| #^fordelim[] | |
| #^duplicatetable2hashkey[] | |
| ^duplicatehashsqlkey[] | |
| <hr> | |
| OK | |
| @duplicatehashsqlkey[] | |
| ^connect[mysql://mdm:4b833ljq@db-mysql/mdm]{ | |
| $t[^table::sql{select * from news}] | |
| $c[^t.columns[]] | |
| ^c.menu{$c.column}[,] | |
| $h[^hash::sql{select news_type_id, name from news}] | |
| } | |
| @duplicatetable2hashkey[] | |
| $t[^table::create{a b | |
| 1 2 | |
| 1 3 | |
| }] | |
| ^t.hash[a;b] | |
| @menudelim[] | |
| $t[^table::create{a | |
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| }] | |
| ^t.menu{^if($t.a<3){}{$t.a}}[,] | |
| @fordelim[] | |
| ^for[a](0;6){^if($a<3){}{$a}}[,] | |
| @passpost[] | |
| <form method=post name="test" id="test"> | |
| <textarea name="text" cols=20 rows =6>^taint[html][1 | |
| 2 | |
| 3]</textarea><br> | |
| <input type=submit> | |
| </form> | |
| ^if(def $form:text){ | |
| $a[^file::cgi[a.pl]] | |
| $a.text|$a.status|$a.stderr<hr> | |
| } | |
| @exec[] | |
| #$a[^file::exec[a.cmd]] | |
| $a[^file::cgi[a.cmd]] | |
| $a.text|$a.status|$a.stderr<hr> | |
| @newxor[] | |
| ^eval(1!|2 #примечание()zzz | |
| |0x100)<br> | |
| #^eval(1!||2)<br> | |
| ^if(1!|1){y}{n} | |
| #@method[$bad] | |
| @doubleliterals[] | |
| #^eval(1e-10) | |
| ^eval("1e-20") | |
| @xpath3[] | |
| $constr[^xdoc::create{<?xml version="1.0" encoding="$request:charset" standalone="no"?> <constructor-data><object object_type_id="1" template_id="1" data_process_id="1" is_published="1">проверка</object> <block-list> <block name="date" type="0" label="Дата" is_hide_pub="1" data_type="1"/> <block name="content" type="0" label="Текст" is_hide_pub="1" data_type=""/> </block-list></constructor-data>}] | |
| $objectData[^constr.selectSingle[/constructor-data/object]] | |
| $objectData.nodeType<br> | |
| $objectData.firstChild.nodeValue | |
| @calltest[] | |
| ^calltest2[string] | |
| @calltest2[s] | |
| $s | |
| @ttransformsep[] | |
| $input[^xdoc::load[20020909131046.xml]] | |
| $output[^input.transform[generated.xsl]] | |
| ^output.string[] | |
| @okswitchtest[] | |
| $local[local value] | |
| ^switch[1]{ | |
| ^case[1]{1code $local} | |
| } | |
| @badswitchtest[] | |
| ^switch[1]{ | |
| ^badswitchtestcase[] | |
| } | |
| @badswitchtestcase[][local] | |
| $local[local value] | |
| ^case[1]{1code $local} | |
| @badjunction[] | |
| ^badj1[] | |
| ^badj2[] | |
| @html-почта[] | |
| $переменная[значение] | |
| ^mail:send[ | |
| $.from[paf@mail] | |
| $.to[paf@mail] | |
| $.subject[htmltest1] | |
| $.html{тест$переменная= !} | |
| ] | |
| @грязные-cookie[] | |
| $cookie:a[&] | |
| $cookie:a | |
| @новый-split[] | |
| $abc[a.b.c] | |
| #$table[^abc.split[.]] | |
| #$table[^abc.split[.;l]] | |
| #$table[^abc.split[.;v]] | |
| $table[^abc.split[.;lv]] | |
| ^table.menu{$table.piece}[,] | |
| <hr> | |
| #$table[^abc.split[.;h]] | |
| $table[^abc.split[.;hr]] | |
| $table.0,$table.1,$table.2<br> | |
| @delimiters[] | |
| $a#1[1]<br> | |
| $a#1=<br> | |
| @badcolumntest[] | |
| $table[^table::load[ext.cfg]] | |
| $table.b | |
| @virtualtest[] | |
| $derived[^derived::create[derived create actual param]] | |
| ^derived.test[] | |
| @voidpostest[] | |
| $s[] | |
| ^s.pos[$nothing] | |
| @postest[] | |
| $s[$nothing] | |
| ^s.pos[$nothing] | |
| @cookieexpirestest[] | |
| #$cookie:exptest[1] | |
| #$cookie:exptest[$.value[2] $.expires(+1)] | |
| $response:xxxx[^date::now(+10)] | |
| $response:yyy[$.value[^date::now(+20)]] | |
| $response:yyy[$.value[vvv] $.aaaa[^date::now(+20)]] | |
| @rbodytest[] | |
| $request:body= | |
| <form method=post> | |
| <input type=submit name=paf value=123> | |
| </form> | |
| @staticstest2[] | |
| ^$derived:derived_var=$derived:derived_var<br> | |
| ^$derived:a=$derived:a<br> | |
| $derived:a[changed] ^$derived:a=$derived:a<br> | |
| $derived:derived_var[changed] | |
| ^$derived:derived_var=$derived:derived_var<br> | |
| @staticstest[] | |
| $derived[^derived::create[]] | |
| ^derived.test[] | |
| <hr> | |
| ^$derived.a=$derived.a<br> | |
| ^$derived.x=$derived.x<br> | |
| <hr> | |
| ^if($derived is derived){derived is derived}{error: derived is not derived}<br> | |
| ^if($derived is table){derived is table}{error:derived is not table}<br> | |
| <hr> | |
| ^^eval(^$derived)=^eval($derived)<br> | |
| ^^if(^$derived)=^if($derived){y}{n}<br> | |
| @xdoctypetest[] | |
| $xdoc[^xdoc::create[x]] | |
| ^if($xdoc is xdoc){y}{n} | |
| @xtabletest[] | |
| $xtableo[^xtable::create[]] | |
| ^if($xtableo is table){y}{n} | |
| #^xtableo.columns[] | |
| @monthdays[month] | |
| $from[^date::create(2000;$month;1)] | |
| $to[^date::create($from)] ^to.roll[month](+1) | |
| $result($to-$from) | |
| @badconstructor[] | |
| ^date::now[] | |
| @datesaving[] | |
| $now[^date::now[]] | |
| $now.daylightsaving<br> | |
| $now.yearday<br> | |
| # | |
| $date[^date::create(2002;1;3)] | |
| $date.daylightsaving<br> | |
| $date.yearday | |
| @mail4[] | |
| ^mail:send[ | |
| $.from[paf@mail.design.ru] | |
| $.to[paf@mail.design.ru] | |
| $.subject[^taint[uri][москва]=2] | |
| $.text[^taint[uri][москва]=] | |
| $.html{<a href=http://there.ru/?city=^taint[uri][Москва]>link</a>} | |
| ] | |
| @processtest[] | |
| $f[^file::load[text;piece.p]] ^process{$f.text} | |
| $ORIGINS(1) | |
| @badpos[] | |
| $s[123] | |
| ^s.mid(0;2) | |
| @wwrapperpass[] | |
| $h[^hash::create[]] | |
| $h.a(1) | |
| ^my_method[^if(1){$h}] | |
| работает. так и должно быть? | |
| @my_method[p] | |
| ^p._count[] | |
| @tableclonelimit[] | |
| $source[^table::create{a | |
| aa | |
| bb | |
| cc}] | |
| ^source.offset(1) | |
| #$dest[^table::create[$source]] | |
| $dest[^table::create[$source;$.offset(2)]] | |
| $dest[^table::create[$source;$.limit(2)]] | |
| $dest[^table::create[$source;$.offset(1)$.limit(1)]] | |
| $dest[^table::create[$source;$.offset(1)$.limit(2)]] | |
| $dest[^table::create[$source;$.offset[cur]$.limit(2)]] | |
| ^dest.menu{$dest.a}[,]<br> | |
| @joinlimit[] | |
| $source[^table::create{a | |
| aa | |
| bb | |
| cc}] | |
| ^source.offset(2) | |
| $dest[^table::create{a | |
| xx | |
| }] | |
| #^dest.join[$source] | |
| #^dest.join[$source;$.offset(2)] | |
| #^dest.join[$source;$.limit(2)] | |
| #^dest.join[$source;$.offset(1)$.limit(1)] | |
| #^dest.join[$source;$.offset(1)$.limit(2)] | |
| #^dest.join[$source;$.offset[cur]$.limit(1)] | |
| ^dest.join[$source;$.limit(0)] | |
| ^dest.menu{$dest.a}[,]<br> | |
| @cgit[] | |
| $f[^file::cgi[showenv.cmd]] | |
| $f.HELLO=<br> | |
| $f.CONTENT-TYPE=<br> | |
| $f.content-type=<br> | |
| @mimet[] | |
| $f[^file::stat[a.GIF]] | |
| $f.content-type | |
| @tfind[] | |
| ^file:find[index.html] | |
| @tstdin[] | |
| $f[^file::exec[test.pl;$.stdin[проверка stdin потока]]] | |
| <pre>$f.text</pre> | |
| @sergestrandef[] | |
| $sQuantity[ ] | |
| ^sQuantity.int(10) | |
| @xmltransformbyxdoc[] | |
| $xdoc[^xdoc::set{^process{<?xml version="1.0" encoding="windows-1251"?> | |
| <!--DOCTYPE people SYSTEM "D:\Y\parser3project\parser3\src\www\htdocs\people.dtd"--> | |
| <people> | |
| <man id="1" имя="word слово"> | |
| <name>1 2</name> | |
| </man> | |
| </people> | |
| }}] | |
| $sheet[^xdoc::create{<?xml version="1.0"?> | |
| <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" | |
| > | |
| <!--<xsl:output doctype-public ="-//W3C//DTD XHTML" indent="yes"/>--> | |
| <!--<xsl:import href="http://localhost/html.xsl"/>--> | |
| <xsl:import href="html.xsl"/> | |
| <xsl:param name="param1">defparam1</xsl:param> | |
| <xsl:param name="param2">defparam2</xsl:param> | |
| <xsl:template match="doc"> | |
| param1=<xsl:value-of select="^$param1"/><br/> | |
| param2=<xsl:value-of select="^$param2"/><br/> | |
| test return <something background=""/> | |
| </xsl:template> | |
| <xsl:template name="test"> | |
| test return3 | |
| </xsl:template> | |
| <xsl:template match="people"> | |
| <html> | |
| <head>z</head> | |
| para1=<xsl:copy-of select="^$param1"/> | |
| <xsl:apply-templates/> | |
| <hr/> | |
| <xsl:call-template name="test"/> | |
| </html> | |
| </xsl:template> | |
| <xsl:template match="name"> | |
| <b><xsl:value-of select="."/></b> | |
| </xsl:template> | |
| </xsl:stylesheet> | |
| }] | |
| $xdoc[^xdoc.transform[$sheet]] | |
| $string[^xdoc.string[$.method[html]]] | |
| ^string.save[a] | |
| ^untaint[html]{$string} | |
| @tnormalize[] | |
| #s состоит из 1000 фрагментов | |
| $s[^for[i](0;999){фрагмент }] | |
| #это займет много ресурсов | |
| ^s.match[фраг][g]{перга} | |
| #это займет меньше ресурсов | |
| #$normalized[^s.normalize[]] | |
| #^normalized.match[фраг][g]{перга} | |
| @sendtests[] | |
| ^text[] | |
| #^html[] | |
| #^text-n-html[] | |
| #^file[] | |
| #^text-n-file[] | |
| #^text-n-html-n-file[] | |
| #^backwardcomp[] | |
| @backwardcomp[] | |
| ^mail:send[ | |
| $.from[paf] | |
| $.to[paf] | |
| $.body[this is text value] | |
| ] | |
| @text[] | |
| ^mail:send[ | |
| $.from[paf] | |
| $.to[paf] | |
| $.text[ | |
| $.value[this is text value] | |
| ] | |
| ] | |
| @html[] | |
| ^mail:send[ | |
| $.from[paf] | |
| $.to[paf] | |
| $.html{this is <b>html</b> value ^taint[<] 10} | |
| ] | |
| @text-n-html[] | |
| ^mail:send[ | |
| $.from[paf] | |
| $.to[paf] | |
| $.text[ | |
| $.value[this is text value] | |
| ] | |
| $.html[ | |
| $.value{this is <b>html</b> value ^taint[<] 10} | |
| ] | |
| ] | |
| @file[] | |
| ^mail:send[ | |
| $.from[paf] | |
| $.to[paf] | |
| $.file[^file::load[binary;image.jpg]] | |
| ] | |
| @text-n-file[] | |
| ^mail:send[ | |
| $.from[paf] | |
| $.to[paf] | |
| $.text[ | |
| $.value[this is text value] | |
| ] | |
| $.file[^file::load[binary;image.jpg]] | |
| ] | |
| @text-n-html-n-file[] | |
| ^mail:send[ | |
| $.from[paf] | |
| $.to[paf] | |
| $.text[ | |
| $.value[this is text value] | |
| ] | |
| $.html[ | |
| $.COntent-type[$.value[text/html]$.charset[windows-1251xx]] | |
| $.value{this is <b>html</b> value ^taint[<] 10} | |
| ] | |
| $.file[^file::load[binary;image.jpg]] | |
| ] | |
| @md5salt[] | |
| 1234 | |
| @cryptdocsample[] | |
| $users[^table::create{name password | |
| alice *** | |
| bob *** | |
| }] | |
| $htpasswd[^table::create[nameless]{}] | |
| ^users.menu{ | |
| ^htpasswd.append{$users.name:^math:crypt[$users.password;^$apr1^$^md5salt[]]} | |
| } | |
| ^htpasswd.save[nameless;.htpasswd-parser-test] | |
| @tcrypt[] | |
| #^math:crypt[123;^$apr1^$1234567890abcdef]<br> | |
| ^math:crypt[123;^$apr1^$]<br> | |
| @tfilespec[] | |
| src=$selffilespec<br> | |
| dirname=^file:dirname[$selffilespec]<br> | |
| basename=^file:basename[$selffilespec]<br> | |
| justname=^file:justname[$selffilespec]<br> | |
| justext=^file:justext[$selffilespec]<br> | |
| @datecreatestring3[] | |
| $new_after[^date::now(-3)] | |
| $articles[^table::create{id title last_update | |
| 1 привет 2002-07-03}] | |
| ^articles.menu{ | |
| $last_update[^date::create[$articles.last_update]] | |
| <a href=${articles.id}.html>$articles.title</a> | |
| ^if($last_update > $new_after){новая} | |
| <br> | |
| } | |
| @div[] | |
| $var(5) | |
| ^var.inc(7) | |
| ^var.dec(3) | |
| ^var.div(4) | |
| ^var.mul(2) | |
| $var | |
| @xdocsave[] | |
| $document[^xdoc::create{<?xml version="1.0" encoding="windows-1251" ?> | |
| <document> | |
| строка1<br/> | |
| строка2<br/> | |
| </document>}] | |
| ^document.save[test.xml] | |
| @xdocstring[] | |
| $document[^xdoc::create{<?xml version="1.0" encoding="windows-1251" ?> | |
| <document> | |
| строка1<br/> | |
| строка2<br/> | |
| </document>}] | |
| ^document.string[ | |
| $.method[html] | |
| ] | |
| @xdocload[] | |
| $document[^xdoc::load[article.xml]] | |
| $response:body[^document.file[$.media-type[text/xml]]] | |
| @xdoccreatetag[] | |
| $document[^xdoc::create[document]] | |
| $paraNode[^document.createElement[para]] | |
| $dummy[^document.documentElement.appendChild[$paraNode]] | |
| $response:body[^document.file[$.media-type[text/xml]]] | |
| @xdoccreate[] | |
| $document[^xdoc::create{<?xml version="1.0" encoding="windows-1251" ?> | |
| <document> | |
| текст | |
| </document>}] | |
| $response:body[^document.file[$.media-type[text/xml]]] | |
| @selectBool2[] | |
| $d[^xdoc::set{<?xml version="1.0" encoding="windows-1251"?> | |
| <t attr="привет" n="123"/>}] | |
| ^if(^d.selectBool[/t/@n > 10]){ | |
| /t/@n больше 10 | |
| }{ | |
| не больше | |
| } | |
| @selectNumber2[] | |
| $d[^xdoc::set{<?xml version="1.0" encoding="windows-1251"?> | |
| <t attr="привет" n="123"/>}] | |
| ^d.selectNumber[number(/t/@n)+1]<br> | |
| ^d.selectNumber[2*2]<br> | |
| @selectString2[] | |
| $d[^xdoc::set{<?xml version="1.0" encoding="windows-1251"?> | |
| <t attr="привет" n="123"/>}] | |
| # результат=привет | |
| ^d.selectString[string(t/@attr)] | |
| @selectSingle2[] | |
| $d[^xdoc::set{<?xml version="1.0" encoding="windows-1251"?> | |
| <t attr="привет" n="123"/>}] | |
| # результат=один элемент "t" | |
| $element[^d.selectSingle[t]] | |
| # результат=2 (количество атрибутов <t>) | |
| Количество атрибутов: ^element.attributes._count[]<br> | |
| # результат=не существует (нет <x>) | |
| ^if(^d.select[x]){ | |
| x существует | |
| }{ | |
| x не существует | |
| } | |
| @select2[] | |
| $d[^xdoc::set{<?xml version="1.0" encoding="windows-1251"?><t attr="привет" n="123"/>}] | |
| # результат: список из одного элемента "t" | |
| $list[^d.select[t]] | |
| # результат: 2 = количество атрибутов <t> | |
| ^list.0.attributes._count[]<br> | |
| ^for[i](0;$list-1){ | |
| $attr[$list.$i] | |
| $attr.nodeName = $attr.nodeType<br> | |
| } | |
| @selectt[] | |
| $d[^xdoc::set{<?xml version="1.0" encoding="windows-1251"?><t attr="привет" n="123"/>}] | |
| $list[^d.select[t]] | |
| ^list.0.attributes._count[] | |
| @envt[] | |
| $f[^file::exec[showenv.cmd; | |
| $.bad[value] | |
| $.CGI_good[value] | |
| ]] | |
| $f.status<br> | |
| $f.stderr<br> | |
| <pre>$f.text</pre> | |
| @tserge[] | |
| ^if(" 09 "){y} | |
| @datetest[] | |
| $f[^file::stat[some.zip]] | |
| Размер в байтах: $f.size<br> | |
| Год создания: $f.cdate.year<br> | |
| $now[^date::now[]] | |
| $DAYS_CONSIDERED_NEW(3) | |
| Статус: ^if($f.mdate >= $now-$DAYS_CONSIDERED_NEW){новый;старый} | |
| @checkList[] | |
| ...^oneOf[a;a,b,c]...<br> | |
| #...^oneOf[a;ax,b,c]...<br> | |
| ...^oneWord[word]...<br> | |
| #...^oneWord[wo rd]...<br> | |
| @oneOf[s;list][t] выдаёт строку, если строка она есть в списке(разделенном запятыми) | |
| $t[^list.lsplit[,]] | |
| ^if(!^t.locate[piece;$s]){^throw[user;$s;unknown]} | |
| $result[$s] | |
| @oneWord[s] | |
| ^if(^s.match[\W]){^throw[user.data;$s;not word]}{$s} | |
| @pngsize[] | |
| $i[^image::measure[test.png]] | |
| ^i.html[] | |
| @forkeys[] | |
| $text[^form:fields.foreach[key;val]{$key=$val | |
| }] | |
| ^text.save[ttt.txt] | |
| =$text= | |
| @tstoredproc2[] | |
| ^connect[odbc://DSN=nestle^;UID=nestle^;PWD=mbm32]{ | |
| ^void:sql{exec pafvoid} | |
| } | |
| @tstoredproc[] | |
| ^connect[odbc://DSN=nestle^;UID=nestle^;PWD=mbm32]{ | |
| $t[^table::sql{exec pafproc}] | |
| # $t[^table::sql{{call pafproc}}] | |
| $c[^t.columns[]] | |
| ^c.menu{$c.column}[<br>] | |
| } | |
| @datecreatestring2[] | |
| <table border=1> | |
| ^datecreatestring2show[2000] | |
| ^datecreatestring2show[2000-02] | |
| ^datecreatestring2show[2000-2-03] | |
| ^datecreatestring2show[2000-02-03 15] | |
| ^datecreatestring2show[2000-02-03 15:30] | |
| ^datecreatestring2show[2000-02-03 15:30:04] | |
| ^datecreatestring2show[2000-02-03 15:30:04 hren] | |
| ^datecreatestring2show[15:30] | |
| ^datecreatestring2show[15:30:05] | |
| ^datecreatestring2show[15:30:05 hren] | |
| </table> | |
| @datecreatestring2show[s] | |
| $date[^date::create[$s]] | |
| <tr> | |
| <td>$s</td><td align=right>^date.sql-string[]</td> | |
| </tr> | |
| @junctionprob[][l] | |
| $l[123] | |
| $a{$l} | |
| ^junctionprobnested[$a] | |
| @junctionprobnested[p] | |
| $p | |
| @callindirecttarget[] | |
| callindirecttarget called | |
| @callindirect[] | |
| $f[$callindirecttarget] | |
| ^f[] | |
| @xpath2[] | |
| $xdoc[^xdoc::create{<?xml version="1.0" encoding="windows-1251"?> | |
| <doc> | |
| <field-list> | |
| <field name="aa"/> | |
| <field name="bb"/> | |
| </field-list> | |
| </doc> | |
| }] | |
| #^xdoc.string[] | |
| $fieldList[^xdoc.selectSingle[/doc/field-list]] | |
| #^fieldList.childNodes._count[] | |
| $fields[^fieldList.select[field]] | |
| #^fields._count[] | |
| ^fields.foreach[k;node]{ | |
| $node.nodeName<br> | |
| } | |
| @counter[filespec][f;s] | |
| ^file:lock[$filespec]{ | |
| $f[^file::load[text;$filespec]] | |
| $s[^eval($f.text+1)] | |
| ^s.save[$filespec] | |
| } | |
| $s | |
| @xmlspace[] | |
| $xdoc[^xdoc::set{^process{<?xml version="1.0" encoding="windows-1251"?> | |
| <!--DOCTYPE people SYSTEM "D:\Y\parser3project\parser3\src\www\htdocs\people.dtd"--> | |
| <people> | |
| <man id="1" имя="word слово"> | |
| <name>1 2</name> | |
| </man> | |
| </people> | |
| }}] | |
| $xdoc[^xdoc.transform[global.xsl]] | |
| $string[^xdoc.string[$.method[html]]] | |
| ^string.save[a] | |
| ^untaint[html]{$string} | |
| @badthrows[] | |
| #^throw[a;b;] | |
| ^throw[a;] | |
| @mssqltypes1[] | |
| ^connect[odbc://DSN=nestle^;UID=nestle^;PWD=mbm32]{ | |
| # ^string:sql{select { ts '1998-05-02 01:23:56.123' }} | |
| # ^string:sql{select CAST({ ts '1998-05-02 01:23:56.123' }AS smalldatetime)} | |
| # ^string:sql{select CAST({ts '2002-04-28 00:00:00.000'} AS smalldatetime)} | |
| $t[^table::sql{select a from paf}] | |
| ^t.count[] | |
| } | |
| @datecreatestring[] | @datecreatestring[] |
| $d[^date::create[2002-12-33 01:03:04]] | $d[^date::create[2002-04-33 01:03:04]] |
| ^d.sql-string[] | ^d.sql-string[] |
| @method[hash] | @method[hash] |
| Line 172 $h[^t.hash[p]] | Line 997 $h[^t.hash[p]] |
| ^int:sql{select news_id from news where news_id=-1}[$.default{2}]<br> | ^int:sql{select news_id from news where news_id=-1}[$.default{2}]<br> |
| ^string:sql{select news_id from news where news_id=-1}[$.default{2}] | ^string:sql{select news_id from news where news_id=-1}[$.default{2}] |
| } | } |
| ======= | |
| <hr> | |
| OK | |
| >>>>>>> 1.50 | |
| @tcrashlocaljunctionsv2[] | @tcrashlocaljunctionsv2[] |
| $a[ | $a[ |
| Line 633 $t[^table::set{^untaint{^taint[$a-tab-b] | Line 1462 $t[^table::set{^untaint{^taint[$a-tab-b] |
| @mail3[] | @mail3[] |
| ^mail:send[ | ^mail:send[ |
| $.from[Александр Петросян <paf@design.ru>] | $.from[Александр Петросян <paf@mail.design.ru>] |
| $.to[Александр Петросян <paf@design.ru>] | $.to[Александр Петросян <paf@mail.design.ru>] |
| $.subject[проверка4] | $.subject[проверка2] |
| $.body[ | $.body[ |
| $.text[ | $.text[ |
| $.content-type[$.value[text/plain] $.charset[windows-1251]] | $.content-type[$.value[text/plain] $.charset[windows-1251]] |
| $.body[проверка] | $.body[проверка^taint[uri][москва]=] |
| ] | ] |
| $.attachment[ | $.attachment[ |
| $.value[^file::load[text;index.html]] | $.value[^file::load[text;index.html]] |
| Line 1098 $abc[abc] | Line 1927 $abc[abc] |
| ^abc.save[abc] | ^abc.save[abc] |
| @calendar[] | @calendar[] |
| 2001;11:<br> | $year(2002) |
| $week_days[^date:calendar[rus](2001;11)] | $month(12) |
| ${year}-${month}:<br> | |
| $week_days[^date:calendar[rus]($year;$month)] | |
| <pre> | <pre> |
| ^week_days.menu{^for[wday](0;7){^if($week_days.$wday){$week_days.$wday; ^; ^;} }<br>} | ^week_days.menu{^for[wday](0;6){^if($week_days.$wday){$week_days.$wday; ^; ^;} }=$week_days.week,$week_days.year=<br>} |
| </pre> | </pre> |
| @thash[] | @thash[] |
| Line 1138 $response:body[^pict.gif[]] | Line 1969 $response:body[^pict.gif[]] |
| @mail2[] | @mail2[] |
| ^mail:send[ | ^mail:send[ |
| $.message-id[<6615%1@parser.ru>] | |
| $.content-type[$.value[text/plain] $.charset[windows-1251]] | $.content-type[$.value[text/plain] $.charset[windows-1251]] |
| $.from[Александр Петросян <paf@design.ru>] | $.from[Александр Петросян <paf@design.ru>] |
| $.to[Александр Петросян <paf@design.ru>] | $.to[Александр Петросян <paf@design.ru>] |
| $.subject[проверка] | $.subject[проверка проверка] |
| $.body[проверка] | $.text[проверка] |
| ] | ] |
| @cookie[] | @cookie[] |
| $env:HTTP_COOKIE<br> | #$env:HTTP_COOKIE<br> |
| #$cookie:переменная[test тест ТЕСТ2] | #$cookie:переменная[test тест ТЕСТ2] |
| =$cookie:переменная=<br> | =$cookie:переменная=<br> |
| Line 1212 $s[abcАБВ] | Line 2044 $s[abcАБВ] |
| 3] | 3] |
| ] | ] |
| @exec[] | |
| $a[^file::exec[fc.exe;;a;b]] | |
| $a.status|$a.stderr<hr> | |
| @fori[][i] | @fori[][i] |
| ^for[i](1;3){... =$i= ...} | ^for[i](1;3){... =$i= ...} |