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