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