Annotation of parser3/src/www/htdocs/index.html, revision 1.219

1.212     parser      1: @main[]
1.219   ! parser      2: PI=^math:PI.format{%.40f}
        !             3: <hr>
1.218     parser      4: ^math:random(10)
                      5: <hr>
                      6: ^math:sqrt(16)
                      7: <hr>
1.216     parser      8: $люди[
                      9:        $2федя[
                     10:                $рост[176]
                     11:        ]
                     12:        $1василий[
                     13:                $возраст[5]
                     14:        ]
                     15: ]
                     16: 
                     17: $имена[^люди.keys[]]
                     18: $имена{
                     19:        ^sort{$key}
                     20:        ^menu{$key}[,].
                     21: }
                     22: <hr>
                     23: 
1.215     parser     24: $таблица[^table:set{a  b
                     25: 1      2
                     26: }]
                     27: $колонки[^таблица.columns[]]
                     28: $колонки{
1.217     parser     29:        ^menu{$column}[,].
1.215     parser     30: }
                     31: 
                     32: <hr>
                     33: 
1.214     parser     34: ^if($form:id ne 'z"'){
                     35:        ne
                     36: }{
                     37:        eq
                     38: }
                     39: <hr>
                     40: 
                     41: 
                     42: ^rem{
1.212     parser     43: $one(1)
                     44: $z(0)
1.214     parser     45: ^eval(^one.int[]%0)
1.212     parser     46: <hr>
1.214     parser     47: }
1.212     parser     48: 
                     49: $form:id:
                     50: <hr>
                     51: 
                     52: ^switch(2){
                     53:        ^case(1;4;3){143}
                     54:        ^case[DEFAULT]{default}
                     55: }
                     56: <hr>
                     57: ^switch(2){
                     58:        ^case(1;2;3){143}
                     59:        ^case[DEFAULT]{default}
                     60: }
                     61: <hr>
                     62: ^switch(2){
                     63:        ^case(1;5;3){143}
                     64: }
                     65: 
                     66: <hr>
                     67: ^switch(2){
                     68:        ^case(2){2}
                     69: }
                     70: 
                     71: <hr>
                     72: ^switch[2]{
                     73:        ^case(2){![2]}
                     74: }
                     75: <hr>
                     76: 
                     77: 
                     78: $hash[$a[1]]
                     79: ^hash.default[0]
                     80: ^rem{
                     81: $target[targetval]
                     82: $form_admin[formadminval]
                     83: ^if(def $target){<head><base target=$target^if(def $form_admin){_a}></head>}
                     84: ^if(def $target){<head><base target=${target}^if(def $form_admin){_a}></head>}
                     85: 
                     86: если $target и $form_admin defined получаем
                     87: <head><base target={_a}></head>
                     88: <hr>
                     89: }
                     90: 
                     91: #$string:a(1)
                     92: #<hr>
                     93: #^if(^log(11)){y}{n}
                     94: #<hr>
                     95: 
                     96: #@my_func[arg;z]
                     97: #2
                     98: 
                     99: #@z[]
                    100: #^exp(^log(10))
                    101: #<hr>
                    102: #$a[^table:load[a<b]]
                    103: ^rem{
                    104: ^mail:send[
                    105:        $from[paf@design.ru]
                    106:        $to[paf@design.ru]
                    107:        $subject[test]
                    108:        $body[here]
                    109: ]
                    110: <hr>
                    111: }
                    112: -^eol[]-
                    113: <hr>
                    114: ^if(1<2){$a[1]}
                    115: ^$a=$a
                    116: <hr>
                    117: 
                    118: <form method=post>
                    119: <input type=hidden name=a value=123>
                    120: <table border=1 width=250><tr><td>$form:name</td></tr></table>
                    121: <textarea name=name rows=5 cols=40>^untaint[html]{^default[$form:name;Пробный текст: А.Ф._Петросян <<Жизнь в Аду>>
                    122: нажми Submit]}</textarea><BR>
                    123: <input type=submit>
                    124: </form>
                    125: <hr>
                    126: 
                    127: #^main[]
                    128: #^use[$form:file]
                    129: 
                    130: $строка[вася ЗдЕсЬ]
                    131: ^^строка.upper[]=^строка.upper[]<br>
                    132: ^^строка.lower[]=^строка.lower[]<br>
                    133: <hr>
                    134: 
1.211     parser    135: 
1.212     parser    136: $a[12]
                    137: ^a.int[]
                    138: 
                    139: <hr>
                    140: 
                    141: 
                    142: $t[^table:set{key      value
                    143: 1      v1
                    144: 2      v2}]
                    145: $h[^t.hash[key]]
                    146: 
                    147: ^sql_test[$SQL.connect-string]
                    148: #^sql_test[mysql://test:test@localhost/test/cp1251_koi8]
                    149: 
                    150: <HR>
                    151: $abc{}
                    152: $tn[^table:set[nameless]{a1    b1
                    153: a2     b2
                    154: }]
                    155: $x[^tn.locate[0;a2]]
                    156: ^$tn.1=$tn.1
                    157: <hr>
                    158: $t0[^table:set{key     a       b
                    159: 1      a1
                    160: 2      a2      b2
                    161: }]
                    162: ^if(^t0.locate[key;2] && "a" ne "b"){y;n}
                    163: <hr>
                    164: $currentFolder[/a/b]
                    165: $path[^currentFolder.lsplit[/]]
                    166: ^path.flip[]
                    167: $path{
                    168: ^menu{$0}{,}
                    169: }
                    170: <hr>
                    171: $t1[^table:set{key     value
                    172: 1      v1
                    173: 2      v2}]
                    174: $h1[^t1.hash[key]]
                    175: ^h1.default[$value[nothing]]
                    176: ^$h1.2.value=$h1.2.value<br>
                    177: ^$h1.2x.value=$h1.2x.value<br>
                    178: <hr>
                    179: $t2[^table:set{key     a       b
                    180: 1      a1
                    181: 2      a2      b2
                    182: }]
                    183: t2 ^if(^t2.empty[]){empty}{not empty}<br>
                    184: ^t2.offset(1)
                    185: $t2.b
                    186: $r[^t2.record[]]
                    187: <hr>
                    188: $th[^t2.hash[b]]
                    189: ^$th.b2.a=$th.b2.a<br>
                    190: <hr>
                    191: $th[^t2.hash[key;a]]
                    192: ^$th.2.a=$th.2.a<br>
                    193: <hr>
                    194: #^OP:eval(1<2)
                    195: 
                    196: $filelist[^table:dir[.]]
                    197: <hr>
                    198: $path[/news/tululu/]
                    199: #^path.flip[]
                    200: <hr>
                    201: $branches[^table:set{name      val
                    202: index.cgihtml  123
                    203: }]
                    204: $splitURI[^request:uri.lsplit[/]]
                    205: name ^if(^branches.locate[name;$splitURI.1]){found;not found}:
                    206: $branches.name
                    207: <HR>
                    208: $splitURI[^request:uri.lsplit[/]]
                    209: $splitURI.0!$splitURI.1
                    210: <HR>
                    211: 
                    212: $t2[^table:set{dir     title
                    213: /here  Here
                    214: }]
                    215: $t2{^menu{${dir}-$title}[,]}
                    216: <HR>
                    217: $dir[news]
                    218: $list[^table:dir[$dir]]
                    219: ^list.menu{
                    220:     $subdir[$dir/$list.name]
                    221:        $sublist[^table:dir[$subdir]]
                    222:        ${list.name}/ $sublist{^menu{$name}[,]}<br>
                    223: }
                    224: <HR>
                    225: ^if(in "/otherdeeper"){y;n}
                    226: <HR>
                    227: 
                    228: ^^table:dir[/]:<BR>
                    229: $d[^table:dir[/]]
                    230: $d{^menu{$name &nbsp^;&nbsp^;&nbsp^;&nbsp^;^if(-f $name){-f} ^if(-d $name){-d};<BR>}}
                    231: <HR>
                    232: 
                    233: $files[^table:set{name}]
                    234: $d{^menu{
                    235:     ^if(-d "$name"){
                    236:         ^:files.append{$name}
                    237:     }
                    238: }}
                    239: 
                    240: $files{^menu{$name}[,]}
                    241: <HR>
                    242: 
                    243: @exception[origin;source;comment;type;code][i;j]
                    244: <body bgcolor=black>
                    245: <font color=white>
                    246: ERROR:
                    247: ^if(def $source){$origin '$source'}
                    248: ${comment}.
                    249: ^if(def $type){type=$type}
                    250: ^if(def $code){code=$code}
                    251: 
                    252: @auto_test[]
                    253: ^BASE.auto_test[]
                    254: <li>${request:uri}!
                    255: @end
                    256: 
                    257: 
                    258: @sql_test[connect-string]
                    259: #^rem{
                    260: #^for[i](1;2){
                    261: ^connect[$connect-string]{
                    262:        $shit[^taint[our's]]
                    263: #      $paf[^table:sql{insert into paf (name, age) values ('$shit', ^random:generate(10000))}]
                    264:        ^void:sql{update paf set age=age+1}
                    265:        $paf[^table:sql{select * from paf order by id desc}(5)]
                    266:        $paf{
                    267:        ^if(^empty[]){query result is empty}{
                    268:        <table border=1>
                    269:                <tr><td>id</td><td>name</td><td>age</td></tr>
                    270:                ^menu{<tr><td>$id</td><td>$name</td><td>$age</td></tr>}
1.211     parser    271:        </table>
1.212     parser    272:        }}
                    273:        ^^string:sql{select name from paf where id=1}=^string:sql{select name from paf where id=1}<br>
                    274:        ^^int:sql{select age from paf where id=1}=^int:sql{select age from paf where id=1}<br>
                    275:        ^^double:sql{select age from paf where id=1}=^double:sql{select age from paf where id=1}<br>
                    276: 
                    277:        $paf[^hash:sql{select id,age from paf}]
                    278:        ^$paf.2.age=$paf.2.age<br>
                    279: }
                    280: #}
                    281: #}
                    282: 
                    283: @eol[]
                    284: eol
                    285: 
                    286: @default[test;def]
                    287: $result[^if(^test.length[]){$test}{$def}]

E-mail: