|
|
| version 1.110, 2001/04/05 18:23:01 | version 1.233, 2001/07/23 13:59:52 |
|---|---|
| Line 1 | Line 1 |
| @auto[] | @USE |
| !!$html-typo[^table:set{user html comment | dtformat.p |
| << «^; длинные user вперёд | input_date.p |
| >> »^; | |
| \n\n <p> !эти есть в таблице по умолчанию | @href[href zzz;title xxxx;ставить] |
| \n <br> !но т.к. заменяем, надо повторить. | ^if($ставить){y;n} |
| < <^; !можно этим воспользоваться, | |
| > >^; !и что-то сделать ДО обычных замен | |
| " "^; !например из << и >> | @call[name][method] |
| & &^; !сделать ёлочки-кавычки. | $method[$$name] |
| _  ^; | ^if(def $method){^method[]} |
| ^#AB «^; windows коды ёлочек | |
| ^#BB »^; windows коды ёлочек | @test1[] |
| (c) ©^; | test1 result |
| ^#A9 ©^; windows (c) | |
| }] | @odbc_test[] |
| ^connect[odbc://dsn=voz7^;uid=voz^;pwd=pwd]{ | |
| @dump[t] | $пресса[^table:sql{select * from press}] |
| ^t.menu{$n<BR>} | $пресса{^menu{ |
| <HR> | $id, $date_row, $header, $short_text^rem{, $full_text}, $mode |
| @func[n] | }[<br>]} |
| $n | } |
| @twop[a;b] | <hr> |
| ($a,$b) | |
| @post-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[] |
| ^connect[$SQL.connect-string]{ | ^odbc_test[] |
| $random_age(^random:generate(10000)) | $a_1[a_1 value] |
| $shit[^taint[our's]] | $a_1<hr> |
| # $paf[^table:sql{insert into paf (name, age) values ('$shit', $random_age)}(1;4)] | |
| $paf[^table:sql{select * from paf}(1;4)] | |
| <table border=1> | |
| <tr><td>id</td><td>name</td><td>age</td></tr> | |
| ^paf.menu{<tr><td>$id</td><td>$name</td><td>$age</td></tr>} | |
| </table> | |
| } | |
| <HR> | ^eval(2*11) |
| ^call[test1] | |
| <hr> | |
| $input_date:input_date_auto_test | |
| <hr> | |
| #$string:z[1] | |
| #<hr> | |
| $path[/news/tululu/] | |
| $pieces[^path.lsplit[/]] | |
| $pieces{^count[]: ^menu{{$piece}}[,].} | |
| <hr> | |
| ^href[href;title](1<2) | |
| $with-cr[^table:set{a b | <hr> |
| ^taint[<1 | $stat[^file:stat[test.zip]] |
| 2>] 3 | $stat{ |
| }] | ^$size=$size<br> |
| "$with-cr.a"<BR> | adate=^long_date_format[$adate]<br> |
| <HR> | mdate=^long_date_format[$mdate]<br> |
| ^if(def $form:s){ | cdate=^long_date_format[$cdate]<br> |
| $form:s<BR> | |
| ^form:s.match[!][g]{<b>!</b>}<BR> | |
| <HR> | |
| } | } |
| <hr> | |
| $дата[^input_date:parse[9.7.2001]] | |
| ^long_date_format[$дата] | |
| <hr> | |
| $дата[^parse_date[9.7.2001]] | |
| ^long_date_format[$дата] | |
| <hr> | |
| $сегодня[^date:now[]] | |
| $недельный_календарь[^table:calendar[rus]($сегодня.year;$сегодня.month;$сегодня.day)] | |
| <TT> | |
| $недельный_календарь{^menu{ | |
| $year $month $day $weekday<BR> | |
| }} | |
| </TT> | |
| <hr> | |
| $сегодня[^date:now[]] | |
| $месячный_календарь[^table:calendar[rus;$сегодня.year;$сегодня.month]] | |
| <TT> | |
| ^месячный_календарь.menu{^for[i;0;6]{ | |
| $day[$месячный_календарь.$i] | |
| ^if($day){$day}{ ^; ^;} | |
| }<BR>} | |
| </TT> | |
| <hr> | |
| before $время[^date:now[]]^время.string[]<br> | |
| year+^время.roll[year](1)^время.string[]<br> | |
| month+^время.roll[month](1)^время.string[]<br> | |
| year-^время.roll[year](-1)^время.string[]<br> | |
| month-^время.roll[month](-1)^время.string[]<br> | |
| day+^время.roll[day](1)^время.string[]<br> | |
| day-^время.roll[day](-1)^время.string[]<br> | |
| <hr> | |
| $русский_день_недели[ | |
| $0[Воскресенье] | |
| $1[Понедельник] | |
| $2[Вторник] | |
| $3[Среда] | |
| $4[Четверг] | |
| $5[Пятница] | |
| $6[Суббота] | |
| ] | |
| $r[1223] | $время[^date:set(0;1;1;3;30;4)] |
| ^^"$r".match[2][]{(^$match)}=^r.match[2][]{($match)}<BR> | $время{ |
| ^^"$r".match[2][i]{(^$match)}=^r.match[2][i]{($match)}<BR> | ^string[]<br> |
| ^^"$r".match[2][g]{(^$match)}=^r.match[2][g]{($match)}<BR> | ${year}.${month}.${day} ${hour}:${minute}:${second} |
| ^^"$r".match[2+][g]{(^$match)}=^r.match[2+][g]{($match)}<BR> | |
| <HR> | |
| $s[abcЯ] | |
| $sm[^s.match[(.)][g]] | |
| ^^"$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> | <hr> |
| ^mt[$s;я] | $время[^date:set(1.5)] |
| ^mt[$s;Я] | ^время.string[] |
| ^mt[$s;b] | <hr> |
| ^mt[$s;^^b] | $сейчас[^date:now[]] |
| ^mt[$s;^^a] | ^^сейчас.string[]=^сейчас.string[] $день_недели($сейчас.weekday) $русский_день_недели.$день_недели<br> |
| ^mt[$s;x] | $floatdays($сейчас) ^floatdays.format{%.20f}<br> |
| ^eval(^math:frac($floatdays)*24)<br> | |
| ^eval(^math:frac($floatdays*24)*60)<br> | |
| ^eval(^math:frac($floatdays*24*60)*60) | |
| <hr> | |
| <HR> | PI=^math:PI.format{%.40f} |
| <hr> | |
| ^math:random(10) | |
| <hr> | |
| ^math:sqrt(16) | |
| <hr> | |
| $люди[ | |
| $2федя[ | |
| $рост[176] | |
| ] | |
| $1василий[ | |
| $возраст[5] | |
| ] | |
| ] | |
| $dest[^table:set[nameless]{ | $имена[^люди.keys[]] |
| $form:d11 d12 d13 | $имена{ |
| d21 d22 d23 | ^sort{$key} |
| }] | ^menu{$key}[,]. |
| $src[^table:set{a b c d | } |
| <hr> | |
| s1 s2 s3 s4 | $таблица[^table:set{a b |
| 1 2 | |
| }] | }] |
| 1:<BR>^dest.menu{$0!$1!$2!$3!<BR>} | $колонки[^таблица.columns[]] |
| ^dest.join[$src] | $колонки{ |
| 2:<BR>^dest.menu{$0!$1!$2!$3!<BR>} | ^menu{$column}[,]. |
| } | |
| <HR> | <hr> |
| $dest[^table:set{a b c | |
| 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> | ^if($form:id ne 'z"'){ |
| ^^random:generate(10)=^random:generate(10)<BR> | ne |
| }{ | |
| eq | |
| } | |
| <hr> | |
| <HR> | ^rem{ |
| $t[^table:load[/test.cfg]] | $one(1) |
| $t{ | $z(0) |
| ^menu{$a!$b!$c<BR>} | ^eval(^one.int[]%0) |
| <HR> | <hr> |
| ^append{x y z} | |
| ^menu{$a!$b!$c<BR>} | |
| <HR> | |
| ^flip[] | |
| ^menu{$0!$1!$2!$3<BR>} | |
| <HR> | |
| } | } |
| $a[vasya,fedya,kolya] | $form:id: |
| ^^"$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> | |
| ^^a.pos(sy]="^a.pos[sy]"<BR> | |
| ^^a.pos[zsy]="^a.pos[zsy]"<BR> | |
| ^^a.left(3)="^a.left(3)"<BR> | |
| ^^a.right(3)="^a.right(3)"<BR> | |
| ^^a.mid(1;3)="^a.mid(1;3)"<BR> | |
| <HR> | |
| ^^twop[a;]=^twop[a;]<BR> | |
| ^$request:browser.type=$request:browser.type<BR> | |
| ^$request:browser.version=$request:browser.version<BR> | |
| $tf[^file:load[test.zip;abc.zip;image/gif]] | |
| #$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> | |
| ^file:find[test.cfg]<BR> | |
| ^file:find[tes.cfg]{not found}<BR> | |
| <HR> | |
| $t[^table:set{n | |
| 3 | |
| 01.3 | |
| 1.2 | |
| 2 | |
| }] | |
| $t{^locate[n;2z]^found{$n}{not found}}<BR> | |
| $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> | |
| ^if(-f index.html){y}{n}<BR> | ^switch(2){ |
| ^taint[html-typo;не знаю | ^case(1;4;3){143} |
| я ничего | ^case[DEFAULT]{default} |
| } | |
| <<слово длинное>> | <hr> |
| ^switch(2){ | |
| (c) by Я | ^case(1;2;3){143} |
| ]<HR> | ^case[DEFAULT]{default} |
| $t[^table:load[/test.cfg]] | } |
| ^process[@b[] | <hr> |
| f | ^switch(2){ |
| ] | ^case(1;5;3){143} |
| ^b[]<BR> | } |
| ^$t.a=$t.a<BR> | <hr> |
| ^t.offset[2] | ^switch(2){ |
| #$r[^t.record[]] | ^case(2){2} |
| #^$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{ | <hr> |
| $response:body[] | ^switch[2]{ |
| $response:location[http://parser3/123] | ^case(2){![2]} |
| } | } |
| <hr> | |
| <HR> | $hash[$a[1]] |
| ^^auto_test[]:<BR> | ^hash.default[0] |
| <ol> | ^rem{ |
| ^auto_test[] | $target[targetval] |
| </ol> | $form_admin[formadminval] |
| <HR> | ^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>} | |
| ^${cookie:вот}=${cookie:вот}?<BR> | если $target и $form_admin defined получаем |
| ^${cookie:вот}=${cookie:вот}?<BR> | <head><base target={_a}></head> |
| ^$request:query=$request:query<BR> | <hr> |
| ^$request:uri=$request:uri<BR> | } |
| #$string:a(1) | |
| #<hr> | |
| #^if(^log(11)){y}{n} | |
| #<hr> | |
| #@my_func[arg;z] | |
| #2 | |
| #@z[] | |
| #^exp(^log(10)) | |
| #<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> | |
| <form method=post> | <form method=post> |
| <input type=hidden name=a value=123> | |
| <table border=1 width=250><tr><td>$form:name</td></tr></table> | <table border=1 width=250><tr><td>$form:name</td></tr></table> |
| <textarea name=name rows=5 cols=40>^untaint[html]{^default[$form:name;Пробный текст: А.Ф._Петросян <<Жизнь в Аду>> | <textarea name=name rows=5 cols=40>^untaint[html]{^default[$form:name;Пробный текст: А.Ф._Петросян <<Жизнь в Аду>> |
| нажми Submit]}</textarea><BR> | нажми Submit]}</textarea><BR> |
| <input type=submit> | <input type=submit> |
| </form> | </form> |
| <hr> | |
| <HR> | #^main[] |
| $свойства_когда_пьян[ | #^use[$form:file] |
| $цвет_глаз[красный] | |
| ] | $строка[вася ЗдЕсЬ] |
| $вася[ | ^^строка.upper[]=^строка.upper[]<br> |
| $свойства[$свойства_когда_пьян] | ^^строка.lower[]=^строка.lower[]<br> |
| ] | <hr> |
| $a[12] | |
| ^a.int[] | |
| <hr> | |
| $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] | |
| $кусок_имени_поля[ства] | |
| ^$кусок_имени_поля=$кусок_имени_поля<BR> | |
| ^$вася.свой^$кусок_имени_поля.цвет_глаз=$вася.свой$кусок_имени_поля.цвет_глаз | |
| <HR> | <HR> |
| <form method=post enctype=multipart/form-data> | $abc{} |
| <input name=photo type=file> | $tn[^table:set[nameless]{a1 b1 |
| <input type=submit> | a2 b2 |
| </form> | }] |
| $x[^tn.locate[0;a2]] | |
| ^$tn.1=$tn.1 | |
| <hr> | |
| $t0[^table:set{key a b | |
| 1 a1 | |
| 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> | <hr> |
| ^if($form:photo){ | $th[^t2.hash[b]] |
| <pre> | ^$th.b2.a=$th.b2.a<br> |
| ^$form:photo.name='$form:photo.name' | <hr> |
| ^$form:photo.size='$form:photo.size' | $th[^t2.hash[key;a]] |
| ^$form:photo.text='$form:photo.text' | ^$th.2.a=$th.2.a<br> |
| ^form:photo.save[paf.txt] | <hr> |
| </pre> | #^OP:eval(1<2) |
| $filelist[^table:dir[.]] | |
| <hr> | |
| $t2[^table:set{dir title | |
| /here Here | |
| }] | |
| $t2{^menu{${dir}-$title}[,]} | |
| <HR> | |
| $dir[news] | |
| $list[^table:dir[$dir]] | |
| ^list.menu{ | |
| $subdir[$dir/$list.name] | |
| $sublist[^table:dir[$subdir]] | |
| ${list.name}/ $sublist{^menu{$name}[,]}<br> | |
| } | } |
| <HR> | |
| ^if(in "/otherdeeper"){y;n} | |
| <HR> | |
| #todo proper! untaint $response:refresh[$value[2] $content[url=http://design.ru]] | ^^table:dir[/]:<BR> |
| $d[^table:dir[/]] | |
| $d{^menu{$name  ^; ^; ^; ^;^if(-f $name){-f} ^if(-d $name){-d};<BR>}} | |
| <HR> | |
| $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 273 ${comment}. | Line 345 ${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}{n/a}<br> | |
| ^^int:sql{select age from paf where id=1}=^int:sql{select age from paf where id=1}(111)<br> | |
| ^^double:sql{select age from paf where id=1}=^double:sql{select age from paf where id=1}(222)<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}] |