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