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