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