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

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

E-mail: