|
|
| version 1.140, 2001/04/12 14:50:31 | version 1.217, 2001/07/02 14:03:35 |
|---|---|
| Line 1 | Line 1 |
| @auto[] | |
| $html-typo[^table:set{user html comment | |
| << «^; длинные user вперёд | |
| >> »^; | |
| \n\n <p> !эти есть в таблице по умолчанию | |
| \n <br> !но т.к. заменяем, надо повторить. | |
| < <^; !можно этим воспользоваться, | |
| > >^; !и что-то сделать ДО обычных замен | |
| " "^; !например из << и >> | |
| & &^; !сделать ёлочки-кавычки. | |
| _  ^; | |
| ^#AB «^; windows коды ёлочек | |
| ^#BB »^; windows коды ёлочек | |
| (c) ©^; | |
| ^#A9 ©^; windows (c) | |
| }] | |
| @dump[t] | |
| ^t.menu{$n<BR>} | |
| <HR> | |
| @func[n] | |
| $n | |
| @twop[a;b] | |
| ($a,$b) | |
| @Zpost-process[data] | |
| #(<BR>$data)<BR> | |
| ^data.match[1][g]{X} | |
| @mt[s;m] | |
| $m ^if(^s.match[$:m;i]){matches}{does not match} $s<BR> | |
| @main[] | @main[] |
| $t[^table:set{id}] | $люди[ |
| ^$t.id=$t.id ? | $2федя[ |
| $рост[176] | |
| #image:create<BR> | ] |
| #$drawing[^image:create(300;100)] | $1василий[ |
| drawing:load<BR> | $возраст[5] |
| $drawing[^image:load[001004paf(c)lena_karin.gif]] | ] |
| $drawing{ | ] |
| ^$drawing.width=$width<BR> | |
| ^$drawing.height=$height<BR> | |
| ^for[i](0;$width/4){ | |
| ^line(0;0)($:i*4)($height-1;0) | |
| } | |
| ^rectangle(100;10)(180;40)(0xFF0000) | |
| ^bar(100+20;10+20)(180+20;40+20)(0xFFFF00) | |
| #^fill(0;0)(0x0000FF) | |
| ^replace(0xFFffFF;0x00FF00)(30;0)(150;99)(200;50) | |
| ^polybar(0x00FFFF)(200;100)(170;99)(280;50) | |
| ^polygon(0xFFFF00)(210;100)(160;90)(250;50) | |
| $имена[^люди.keys[]] | |
| $имена{ | |
| ^sort{$key} | |
| ^menu{$key}[,]. | |
| } | } |
| <HR> | <hr> |
| #$response:body[^drawing.gif[]] | |
| $ff[^drawing.gif[]] | |
| ^ff.save[drawing.gif] | |
| ^drawing.html[$src[drawing.gif]] | |
| <HR> | |
| image:load<BR> | |
| $face[^image:load[001004paf(c)lena_karin.gif]] | |
| ^$face.src=$face.src<BR> | |
| ^$face.width=$face.width<BR> | |
| ^$face.height=$face.height<BR> | |
| <HR> | |
| ^if($form:photo){ | $таблица[^table:set{a b |
| upload file:<BR> | 1 2 |
| $face[^image:measure[$form:photo]] | }] |
| $face.src=$face.src<BR> | $колонки[^таблица.columns[]] |
| ^$face.width=$face.width<BR> | $колонки{ |
| ^$face.height=$face.height<BR> | ^menu{$column}[,]. |
| <HR> | |
| } | } |
| gif file class:<BR> | |
| $face[^image:measure[^file:load[001004paf(c)lena_karin.gif]]] | |
| ^$face.src=$face.src<BR> | |
| ^$face.width=$face.width<BR> | |
| ^$face.height=$face.height<BR> | |
| ^^face.html[]=^face.html[]<BR> | |
| <HR> | |
| gif:<BR> | |
| $face[^image:measure[001004paf(c)lena_karin.gif]] | |
| ^$face.src=$face.src<BR> | |
| ^$face.width=$face.width<BR> | |
| ^$face.height=$face.height<BR> | |
| ^^face.html[]=^face.html[]<BR> | |
| <HR> | |
| jpeg:<BR> | |
| $face[^image:measure[001004paf(c)lena_karin.jpg]] | |
| ^$face.src=$face.src<BR> | |
| ^$face.width=$face.width<BR> | |
| ^$face.height=$face.height<BR> | |
| <a href=$request:uri>^^face.html[^$border(1) ^$ismap(-1)]=^face.html[$border(1) $ismap(-1)]</a> | |
| <HR> | |
| ^rem{ | <hr> |
| ^mail:send[ | |
| $to[paf@design.ru] | |
| $subject[test] | |
| $body[test] | |
| ] | |
| <HR> | |
| } | |
| $e[^file:cgi[env.pl;$t[<b>1</b>]]] | ^if($form:id ne 'z"'){ |
| $e.text | ne |
| <HR> | }{ |
| eq | |
| } | |
| <hr> | |
| ^rem{^mail:send[ | |
| $to[paf@design.ru] | |
| $from[paf@design.ru] | |
| $body[ | |
| $1[ | |
| $content-type[ | |
| $value[text/plain] | |
| $charset[windows-1251] | |
| ] | |
| $body[привет, PAF. | |
| sincerily yours, | ^rem{ |
| PAF | $one(1) |
| ] | $z(0) |
| ] | ^eval(^one.int[]%0) |
| $attach[ | <hr> |
| $value[^file:load[test.zip]] | |
| $type[uue] | |
| $file-name[retest.zip] | |
| ] | |
| ] | |
| ] | |
| } | } |
| ^rem{^mail:send[ | $form:id: |
| $content-type[ | <hr> |
| $value[text/plain] | |
| $charset[windows-1251] | |
| ] | |
| $to[paf@design.ru] | |
| $from[paf@design.ru] | |
| $body[привет, PAF. | |
| sincerily yours, | ^switch(2){ |
| PAF | ^case(1;4;3){143} |
| ] | ^case[DEFAULT]{default} |
| ] | } |
| <hr> | |
| ^switch(2){ | |
| ^case(1;2;3){143} | |
| ^case[DEFAULT]{default} | |
| } | |
| <hr> | |
| ^switch(2){ | |
| ^case(1;5;3){143} | |
| } | } |
| ^rem{^mail:send[ | <hr> |
| $to[paf@design.ru] | ^switch(2){ |
| $from[paf@design.ru] | ^case(2){2} |
| $body[ | } |
| $2[ | |
| $content-type[$value[message/rfc822] $name[letter.eml]] | |
| $body[to: paul | |
| from: paf | |
| subject: 2 | |
| 2.body | |
| ] | |
| ] | |
| $1[ | |
| $to[paul] | |
| $from[paf] | |
| $subject[1] | |
| $content-type[text/plain] | |
| $body[image] | |
| ] | |
| ] | |
| ]} | |
| <hr> | |
| ^switch[2]{ | |
| ^case(2){![2]} | |
| } | |
| <hr> | |
| ^^table:dir[/]:<BR> | |
| $d[^table:dir[/]] | |
| ^d.menu{$name;<BR>} | |
| <HR> | |
| ^^table:dir[/;html^$]<BR> | $hash[$a[1]] |
| $d[^table:dir[/;html^$]] | ^hash.default[0] |
| ^d.menu{$name;<BR>} | ^rem{ |
| <HR> | $target[targetval] |
| $form_admin[formadminval] | |
| ^if(def $target){<head><base target=$target^if(def $form_admin){_a}></head>} | |
| ^if(def $target){<head><base target=${target}^if(def $form_admin){_a}></head>} | |
| ^connect[$SQL.connect-string]{ | если $target и $form_admin defined получаем |
| $shit[^taint[our's]] | <head><base target={_a}></head> |
| # $paf[^table:sql{insert into paf (name, age) values ('$shit', ^random:generate(10000))}] | <hr> |
| $paf[^table:sql{select * from paf order by id desc}(5)] | |
| $paf{ | |
| ^empty{query result is empty}{ | |
| <table border=1> | |
| <tr><td>id</td><td>name</td><td>age</td></tr> | |
| ^menu{<tr><td>$id</td><td>$name</td><td>$age</td></tr>} | |
| </table> | |
| }} | |
| } | } |
| <HR> | #$string:a(1) |
| #<hr> | |
| $with-cr[^table:set{a b | #^if(^log(11)){y}{n} |
| ^taint[<1 | #<hr> |
| 2>] 3 | |
| }] | #@my_func[arg;z] |
| "$with-cr.a"<BR> | #2 |
| <HR> | |
| ^if(def $form:s){ | #@z[] |
| $form:s<BR> | #^exp(^log(10)) |
| ^form:s.match[!][g]{<b>!</b>}<BR> | #<hr> |
| <HR> | #$a[^table:load[a<b]] |
| ^rem{ | |
| ^mail:send[ | |
| $from[paf@design.ru] | |
| $to[paf@design.ru] | |
| $subject[test] | |
| $body[here] | |
| ] | |
| <hr> | |
| } | } |
| -^eol[]- | |
| <hr> | |
| ^if(1<2){$a[1]} | |
| ^$a=$a | |
| <hr> | |
| $r[1223] | <form method=post> |
| ^^"$r".match[2][]{(^$match)}=^r.match[2][]{($match)}<BR> | <input type=hidden name=a value=123> |
| ^^"$r".match[2][i]{(^$match)}=^r.match[2][i]{($match)}<BR> | <table border=1 width=250><tr><td>$form:name</td></tr></table> |
| ^^"$r".match[2][g]{(^$match)}=^r.match[2][g]{($match)}<BR> | <textarea name=name rows=5 cols=40>^untaint[html]{^default[$form:name;Пробный текст: А.Ф._Петросян <<Жизнь в Аду>> |
| ^^"$r".match[2+][g]{(^$match)}=^r.match[2+][g]{($match)}<BR> | нажми Submit]}</textarea><BR> |
| <HR> | <input type=submit> |
| $s[abcЯ] | </form> |
| $sm[^s.match[(.)][g]] | <hr> |
| ^^"$s".match[(.)][g]:<BR> | |
| ^sm.menu{ | |
| ^line[]:<BR> | |
| ^$pre-match=$pre-match<BR> | |
| ^$match=$match<BR> | |
| ^$post-match=$post-match<BR> | |
| ^$1=$1<BR> | |
| } | |
| <HR> | |
| $sm[^s.match[(.)][]] | |
| ^^"$s".match[(.)][]:<BR> | |
| ^sm.menu{ | |
| ^line[]:<BR> | |
| ^$pre-match=$pre-match<BR> | |
| ^$match=$match<BR> | |
| ^$post-match=$post-match<BR> | |
| ^$1=$1<BR> | |
| } | |
| <HR> | |
| ^mt[$s;я] | |
| ^mt[$s;Я] | |
| ^mt[$s;b] | |
| ^mt[$s;^^b] | |
| ^mt[$s;^^a] | |
| ^mt[$s;x] | |
| <HR> | #^main[] |
| #^use[$form:file] | |
| $dest[^table:set[nameless]{ | $строка[вася ЗдЕсЬ] |
| $form:d11 d12 d13 | ^^строка.upper[]=^строка.upper[]<br> |
| d21 d22 d23 | ^^строка.lower[]=^строка.lower[]<br> |
| }] | <hr> |
| $src[^table:set{a b c d | |
| s1 s2 s3 s4 | |
| }] | |
| 1:<BR>^dest.menu{$0!$1!$2!$3!<BR>} | |
| ^dest.join[$src] | |
| 2:<BR>^dest.menu{$0!$1!$2!$3!<BR>} | |
| <HR> | $a[12] |
| $dest[^table:set{a b c | ^a.int[] |
| d11 d12 d13 | |
| d21 d22 d23 | |
| }] | |
| $src[^table:set{a b c d | |
| s1 s2 s3 s4 | |
| }] | |
| ^dest.join[$src] | |
| ^dest.menu{$a!$b!$c!<BR>} | |
| <HR> | <hr> |
| ^^random:generate(10)=^random:generate(10)<BR> | |
| $t[^table:set{key value | |
| 1 v1 | |
| 2 v2}] | |
| $h[^t.hash[key]] | |
| ^sql_test[$SQL.connect-string] | |
| #^sql_test[mysql://test:test@localhost/test/cp1251_koi8] | |
| <HR> | <HR> |
| $t[^table:load[/test.cfg]] | $abc{} |
| $t{ | $tn[^table:set[nameless]{a1 b1 |
| ^menu{$a!$b!$c<BR>} | a2 b2 |
| <HR> | }] |
| ^append{x y z} | $x[^tn.locate[0;a2]] |
| ^menu{$a!$b!$c<BR>} | ^$tn.1=$tn.1 |
| <HR> | <hr> |
| ^flip[] | $t0[^table:set{key a b |
| ^menu{$0!$1!$2!$3<BR>} | 1 a1 |
| <HR> | 2 a2 b2 |
| }] | |
| ^if(^t0.locate[key;2] && "a" ne "b"){y;n} | |
| <hr> | |
| $currentFolder[/a/b] | |
| $path[^currentFolder.lsplit[/]] | |
| ^path.flip[] | |
| $path{ | |
| ^menu{$0}{,} | |
| } | } |
| <hr> | |
| $t1[^table:set{key value | |
| 1 v1 | |
| 2 v2}] | |
| $h1[^t1.hash[key]] | |
| ^h1.default[$value[nothing]] | |
| ^$h1.2.value=$h1.2.value<br> | |
| ^$h1.2x.value=$h1.2x.value<br> | |
| <hr> | |
| $t2[^table:set{key a b | |
| 1 a1 | |
| 2 a2 b2 | |
| }] | |
| t2 ^if(^t2.empty[]){empty}{not empty}<br> | |
| ^t2.offset(1) | |
| $t2.b | |
| $r[^t2.record[]] | |
| <hr> | |
| $th[^t2.hash[b]] | |
| ^$th.b2.a=$th.b2.a<br> | |
| <hr> | |
| $th[^t2.hash[key;a]] | |
| ^$th.2.a=$th.2.a<br> | |
| <hr> | |
| #^OP:eval(1<2) | |
| $a[vasya,fedya,kolya] | $filelist[^table:dir[.]] |
| ^^"$a".lsplit[,]=$as[^a.lsplit[,]]$as.0|$as.1|$as.2|$as.3<BR> | <hr> |
| ^^"$a".rsplit[,]=$as[^a.rsplit[,]]$as.0|$as.1|$as.2|$as.3<BR> | $path[/news/tululu/] |
| ^^a.pos(sy]="^a.pos[sy]"<BR> | #^path.flip[] |
| ^^a.pos[zsy]="^a.pos[zsy]"<BR> | <hr> |
| ^^a.left(3)="^a.left(3)"<BR> | $branches[^table:set{name val |
| ^^a.right(3)="^a.right(3)"<BR> | index.cgihtml 123 |
| ^^a.mid(1;3)="^a.mid(1;3)"<BR> | }] |
| <HR> | $splitURI[^request:uri.lsplit[/]] |
| ^^twop[a;]=^twop[a;]<BR> | name ^if(^branches.locate[name;$splitURI.1]){found;not found}: |
| ^$request:browser.type=$request:browser.type<BR> | $branches.name |
| ^$request:browser.version=$request:browser.version<BR> | |
| $tf[^file:load[test.zip;abc.zip]] | |
| #$response:body[$tf] | |
| ^$tf.name=$tf.name<BR> | |
| ^$tf.size=$tf.size<BR> | |
| ^$tf.mime-type=$tf.mime-type<BR> | |
| ^$tf.text:<BR> | |
| $tf.text<HR> | |
| <HR> | <HR> |
| ^file:find[test.cfg]<BR> | $splitURI[^request:uri.lsplit[/]] |
| ^file:find[tes.cfg]{not found}<BR> | $splitURI.0!$splitURI.1 |
| <HR> | <HR> |
| $t[^table:set{n | $t2[^table:set{dir title |
| 3 | /here Here |
| 01.3 | |
| 1.2 | |
| 2 | |
| }] | }] |
| $t{^locate[n;2z]^found{$n}{not found}}<BR> | $t2{^menu{${dir}-$title}[,]} |
| $t{^locate[n;3]^found{found:$n}{not found}}<BR> | |
| ^$t:<BR> | |
| ^dump[$t] | |
| ^t.sort($n) | |
| ^^t.sort(^$n):<BR> | |
| ^dump[$t] | |
| ^t.sort{^:func($n)} | |
| ^^t.sort{^^:func(^$n)}:<BR> | |
| ^dump[$t] | |
| ^t.sort{$n} | |
| ^^t.sort{^$n}:<BR> | |
| ^dump[$t] | |
| ^t.sort{$n}[desc] | |
| ^^t.sort{^$n}[desc]:<BR> | |
| ^dump[$t] | |
| <HR> | <HR> |
| $dir[news] | |
| ^if(-f index.html){y}{n}<BR> | $list[^table:dir[$dir]] |
| ^taint[html-typo;не знаю | ^list.menu{ |
| я ничего | $subdir[$dir/$list.name] |
| $sublist[^table:dir[$subdir]] | |
| <<слово длинное>> | ${list.name}/ $sublist{^menu{$name}[,]}<br> |
| (c) by Я | |
| ]<HR> | |
| $t[^table:load[/test.cfg]] | |
| ^process[@b[] | |
| f | |
| ] | |
| ^b[]<BR> | |
| ^$t.a=$t.a<BR> | |
| ^t.offset[2] | |
| #$r[^t.record[]] | |
| #^$r.a=$r.a<BR> | |
| ^$request:uri=$request:uri<BR> | |
| ^$env:PATH_INFO=$env:PATH_INFO<BR> | |
| ^$env:REMOTE_ADDR=$env:REMOTE_ADDR<BR> | |
| ^rem{ | |
| $response:body[] | |
| $response:location[http://parser3/123] | |
| } | } |
| <HR> | <HR> |
| ^^auto_test[]:<BR> | ^if(in "/otherdeeper"){y;n} |
| <ol> | |
| ^auto_test[] | |
| </ol> | |
| <HR> | <HR> |
| ^${cookie:вот}=${cookie:вот}?<BR> | ^^table:dir[/]:<BR> |
| ^${cookie:вот}=${cookie:вот}?<BR> | $d[^table:dir[/]] |
| ^$request:query=$request:query<BR> | $d{^menu{$name  ^; ^; ^; ^;^if(-f $name){-f} ^if(-d $name){-d};<BR>}} |
| ^$request:uri=$request:uri<BR> | |
| <form method=post> | |
| <input type=hidden name=a value=123> | |
| <table border=1 width=250><tr><td>$form:name</td></tr></table> | |
| <textarea name=name rows=5 cols=40>^untaint[html]{^default[$form:name;Пробный текст: А.Ф._Петросян <<Жизнь в Аду>> | |
| нажми Submit]}</textarea><BR> | |
| <input type=submit> | |
| </form> | |
| <HR> | |
| $свойства_когда_пьян[ | |
| $цвет_глаз[красный] | |
| ] | |
| $вася[ | |
| $свойства[$свойства_когда_пьян] | |
| ] | |
| $кусок_имени_поля[ства] | |
| ^$кусок_имени_поля=$кусок_имени_поля<BR> | |
| ^$вася.свой^$кусок_имени_поля.цвет_глаз=$вася.свой$кусок_имени_поля.цвет_глаз | |
| <HR> | <HR> |
| <form method=post enctype=multipart/form-data> | |
| <input name=photo type=file> | |
| <input type=submit> | |
| </form> | |
| <hr> | |
| ^if($form:photo){ | |
| <pre> | |
| ^$form:photo.name='$form:photo.name' | |
| ^$form:photo.size='$form:photo.size' | |
| ^$form:photo.text='$form:photo.text' | |
| ^form:photo.save[paf.txt] | |
| </pre> | |
| } | |
| #todo proper! untaint $response:refresh[$value[2] $content[url=http://design.ru]] | |
| $files[^table:set{name}] | |
| $d{^menu{ | |
| ^if(-d "$name"){ | |
| ^:files.append{$name} | |
| } | |
| }} | |
| @default[test;def] | $files{^menu{$name}[,]} |
| $result[^if(^test.length[]){$test}{$def}] | <HR> |
| @exception[origin;source;comment;type;code] | @exception[origin;source;comment;type;code][i;j] |
| <body bgcolor=black> | <body bgcolor=black> |
| <font color=white> | <font color=white> |
| ERROR: | ERROR: |
| Line 427 ${comment}. | Line 245 ${comment}. |
| @auto_test[] | @auto_test[] |
| ^BASE.auto_test[] | ^BASE.auto_test[] |
| <li>${request:uri}! | |
| <li>${request:uri}! | |
| @end | |
| @sql_test[connect-string] | |
| #^rem{ | |
| #^for[i](1;2){ | |
| ^connect[$connect-string]{ | |
| $shit[^taint[our's]] | |
| # $paf[^table:sql{insert into paf (name, age) values ('$shit', ^random:generate(10000))}] | |
| ^void:sql{update paf set age=age+1} | |
| $paf[^table:sql{select * from paf order by id desc}(5)] | |
| $paf{ | |
| ^if(^empty[]){query result is empty}{ | |
| <table border=1> | |
| <tr><td>id</td><td>name</td><td>age</td></tr> | |
| ^menu{<tr><td>$id</td><td>$name</td><td>$age</td></tr>} | |
| </table> | |
| }} | |
| ^^string:sql{select name from paf where id=1}=^string:sql{select name from paf where id=1}<br> | |
| ^^int:sql{select age from paf where id=1}=^int:sql{select age from paf where id=1}<br> | |
| ^^double:sql{select age from paf where id=1}=^double:sql{select age from paf where id=1}<br> | |
| $paf[^hash:sql{select id,age from paf}] | |
| ^$paf.2.age=$paf.2.age<br> | |
| } | |
| #} | |
| #} | |
| @eol[] | |
| eol | |
| @default[test;def] | |
| $result[^if(^test.length[]){$test}{$def}] |