Compare commits
1253 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
fdb5a19941 | ||
|
571c2dd1c2 | ||
|
d61436256e | ||
|
92eef72fc1 | ||
|
8292e7d8f0 | ||
|
359c048862 | ||
|
088cd57160 | ||
|
af80005a9c | ||
|
a8894391a2 | ||
|
754fb2b1fd | ||
|
1ff6f147f8 | ||
|
efbe13ae9d | ||
|
3ce686d1e3 | ||
|
db88618e2d | ||
|
0efd5eec99 | ||
|
a0200795a5 | ||
|
27fd0bf93e | ||
|
5a50ca01d8 | ||
|
0cdba2e307 | ||
|
7afe6fa9cf | ||
|
0f8615bf88 | ||
|
044175df04 | ||
|
d6a0df74d6 | ||
|
13114afe08 | ||
|
6266d1d86b | ||
|
b7c232972e | ||
|
3b5e1adb7d | ||
|
2f60f98992 | ||
|
166ac1d703 | ||
|
09300ebb96 | ||
|
223c0e79be | ||
|
1271fa684a | ||
|
df08140712 | ||
|
0245895d39 | ||
|
a2d5d62131 | ||
|
308ca91daf | ||
|
d6ca1232e2 | ||
|
b656b254e8 | ||
|
3dc00d6c15 | ||
|
5e9a62e405 | ||
|
838d4363bf | ||
|
b170dfec16 | ||
|
e81da24679 | ||
|
c1a939be0c | ||
|
98aa3b2dab | ||
|
cdba83f115 | ||
|
4c6c2b7c89 | ||
|
3b1e349a4a | ||
|
1c70f8b5e3 | ||
|
211dd04c81 | ||
|
879b482b6a | ||
|
05cdf08949 | ||
|
bf144afd65 | ||
|
f835d8ecf9 | ||
|
bde089afd3 | ||
|
407ec4b11d | ||
|
b77d7f98c6 | ||
|
67b6f5817b | ||
|
fa5fae9c58 | ||
|
a53e809fc4 | ||
|
206cd8c280 | ||
|
3b0462271d | ||
|
e0239d0381 | ||
|
1d295ad04b | ||
|
44e5a29e0c | ||
|
47437ced0d | ||
|
20d5016017 | ||
|
203488bd4a | ||
|
52ac627506 | ||
|
2759109de5 | ||
|
530a2c4ecd | ||
|
3f184f9c14 | ||
|
5169693f57 | ||
|
91184cefb3 | ||
|
834ddfba75 | ||
|
2349599aa8 | ||
|
19be4b3b90 | ||
|
6339410283 | ||
|
1749ba17ac | ||
|
c8e9b6c65a | ||
|
c049dd4f58 | ||
|
1830bf124b | ||
|
3fa65dfc83 | ||
|
18d2fdf94a | ||
|
d6ba21fcaf | ||
|
3e98166a2a | ||
|
a6795b61ce | ||
|
a01b922efb | ||
|
73ab10658c | ||
|
ead96474c6 | ||
|
d089e07a63 | ||
|
fc5b67508f | ||
|
f1c20282f6 | ||
|
9353a8ea43 | ||
|
3fd4073f34 | ||
|
fde9c1c2e2 | ||
|
55ec568070 | ||
|
0040345932 | ||
|
c8c5b46e77 | ||
|
dfcbb10f9d | ||
|
b8da82d5c2 | ||
|
e59a44a83d | ||
|
16d0d77d4c | ||
|
2d790b6c64 | ||
|
6fe5c10dde | ||
|
bc3cd4615e | ||
|
3f14a29ff3 | ||
|
8129d4a6e1 | ||
|
176bd8eeac | ||
|
aef78c9ca4 | ||
|
ac0239e5be | ||
|
50db3684fb | ||
|
3b5bad2c58 | ||
|
0503a1bf68 | ||
|
5f4da6e8f8 | ||
|
3afdc531e0 | ||
|
e2179a6ec1 | ||
|
02e3e0cd1b | ||
|
f3a0b265ee | ||
|
8046f1989b | ||
|
caed81876e | ||
|
ce06ffa496 | ||
|
0747c54ddf | ||
|
797d6c9b37 | ||
|
d455ab71cb | ||
|
481f6bbbdb | ||
|
6981e3009e | ||
|
a76e54193e | ||
|
3598fb113b | ||
|
47086751d2 | ||
|
013f9ebade | ||
|
6661f0490a | ||
|
daeb6d4087 | ||
|
3b2c456c1a | ||
|
f2a72ad8ea | ||
|
a9b656c45e | ||
|
9bfce99352 | ||
|
f6c2ad6ed5 | ||
|
3658efd3af | ||
|
580641d69f | ||
|
d832982228 | ||
|
908479d786 | ||
|
2fcb2f4bda | ||
|
28eb798c9c | ||
|
665a462501 | ||
|
0d2346baab | ||
|
749d64a756 | ||
|
3052f0c77d | ||
|
3d6278e23d | ||
|
3fc952f674 | ||
|
3430610092 | ||
|
440f649e39 | ||
|
e307eab3f3 | ||
|
844a45ff2f | ||
|
1d7f029fa5 | ||
|
3f2488de7d | ||
|
318bc0aba3 | ||
|
1e60c69b97 | ||
|
bd0253477e | ||
|
f11843562a | ||
|
885e94733a | ||
|
0d18728523 | ||
|
f4a05789f1 | ||
|
de8307a2a9 | ||
|
4f75a7e81c | ||
|
57a9d224de | ||
|
dad712ebb2 | ||
|
134edd9445 | ||
|
7352d1d7f3 | ||
|
371ea35036 | ||
|
5c23e85a79 | ||
|
b7bec30fb7 | ||
|
43aa000f02 | ||
|
16be65c454 | ||
|
f7ee00d785 | ||
|
547fb4cf71 | ||
|
504dd173a1 | ||
|
e36742528f | ||
|
3af565ccc3 | ||
|
b41fc7feff | ||
|
4960d8f891 | ||
|
f2a1ebb7b4 | ||
|
7021347dec | ||
|
42e56c5f3e | ||
|
edcfa915d8 | ||
|
dafceffc6f | ||
|
fb980f24c7 | ||
|
4f00c1f6f1 | ||
|
09163d2a76 | ||
|
1c8ac461f2 | ||
|
bd6fe70347 | ||
|
592a443bf1 | ||
|
d2cde11e4d | ||
|
2b47a39950 | ||
|
80f700096a | ||
|
5855c8c8b6 | ||
|
b3913a8791 | ||
|
91f4b7cd6e | ||
|
5a4ac84301 | ||
|
7fa8fd21f0 | ||
|
a716232172 | ||
|
b155596089 | ||
|
a29da160af | ||
|
d272fc9b09 | ||
|
1a633a74ae | ||
|
104c1cddbe | ||
|
c3b9c72df9 | ||
|
ff1ba95e37 | ||
|
a1a72e5ca3 | ||
|
0f6cd3c148 | ||
|
792eff6d41 | ||
|
b289cb03aa | ||
|
1171241f5d | ||
|
e86eb7fcf8 | ||
|
b1313438ea | ||
|
a3fa73aec6 | ||
|
0e709b148c | ||
|
36bb44e0a5 | ||
|
83dfad0199 | ||
|
d5c59e7f10 | ||
|
22250b483f | ||
|
dd93de3f91 | ||
|
b74f6ca359 | ||
|
7997a40e21 | ||
|
15e8a4d0e6 | ||
|
3e81b0fc4d | ||
|
474e31b2be | ||
|
47f1e8a089 | ||
|
2ebb0055be | ||
|
3094bd952a | ||
|
bc2749b76c | ||
|
cc99fc3c92 | ||
|
df81fdfd0b | ||
|
a435e9291c | ||
|
0b79e38d9d | ||
|
e34a190eeb | ||
|
e0af32189e | ||
|
47d7aabe28 | ||
|
4d27f2a9ea | ||
|
a5869294fb | ||
|
5fb52e9d1c | ||
|
4c71204073 | ||
|
a5a2532a7d | ||
|
b1d735170f | ||
|
6e4cfb9d03 | ||
|
45c85311b3 | ||
|
2c65cbaa5b | ||
|
a0b91e4472 | ||
|
11a16d5693 | ||
|
b12c7e9031 | ||
|
6ff498f503 | ||
|
cc43f8e676 | ||
|
d45a6be4df | ||
|
834f3507d5 | ||
|
e7edfad27a | ||
|
68feea5d4e | ||
|
5ba7706747 | ||
|
483b63d496 | ||
|
28bd6cdeec | ||
|
77c7e401da | ||
|
f57a07e15a | ||
|
1b76b92f8c | ||
|
90fc86f7cb | ||
|
d6c54bda6a | ||
|
b7e5d338f7 | ||
|
7e25c73728 | ||
|
6018c1fbc4 | ||
|
adcee84904 | ||
|
a3cc73bd87 | ||
|
adf43d28df | ||
|
a8b3c772d9 | ||
|
b85c1c48b0 | ||
|
bceb0160b7 | ||
|
56e999dddb | ||
|
b18ce642ef | ||
|
9c3d03c4a1 | ||
|
9bb9d71729 | ||
|
3e9d8e95da | ||
|
59cf5040f1 | ||
|
c36adc9397 | ||
|
b0d5f14a27 | ||
|
2aedd2b6f5 | ||
|
3d1c64f7e0 | ||
|
880ead3521 | ||
|
ca344c838d | ||
|
eb94a38f75 | ||
|
aa842d8741 | ||
|
5aa0126b39 | ||
|
78c2ca736d | ||
|
9f39514376 | ||
|
c2eaa0a8da | ||
|
d9bfba5c74 | ||
|
3d5561c7af | ||
|
b4124435e4 | ||
|
715f029657 | ||
|
701d24258c | ||
|
050c9c19c3 | ||
|
ec8555545e | ||
|
47f24e6ff0 | ||
|
d2bdf70ecd | ||
|
96bb90bb2e | ||
|
32d7a09cfd | ||
|
c1e1cecf93 | ||
|
cce5073969 | ||
|
5d86dc8dec | ||
|
127ef175b7 | ||
|
a3e67b299b | ||
|
bd6b63c616 | ||
|
b87566d0b3 | ||
|
d6d68d8cc0 | ||
|
ab7c86da21 | ||
|
c3ea89cf03 | ||
|
f510392e7e | ||
|
df3a603d66 | ||
|
8748c72696 | ||
|
5fecec74ec | ||
|
96848654a4 | ||
|
330be8c05a | ||
|
a2614b1a46 | ||
|
d02efe55f2 | ||
|
71e9c50a57 | ||
|
2d29cf935e | ||
|
7711418a12 | ||
|
95bdbf76ba | ||
|
f6558c25ac | ||
|
6262fcdff8 | ||
|
4aa75a7d17 | ||
|
818d86feea | ||
|
a04548a814 | ||
|
cb026ccc4e | ||
|
94ca2b8e9a | ||
|
6ca5eac61b | ||
|
68badf4658 | ||
|
ad4e359bca | ||
|
a2da7f1a22 | ||
|
96dae07160 | ||
|
cbb5133d46 | ||
|
e8219ba71a | ||
|
866f91424f | ||
|
36702d7b57 | ||
|
647c45d454 | ||
|
79cfdd5f38 | ||
|
38b2dd0732 | ||
|
5f0da8067c | ||
|
d0acf570a3 | ||
|
8303efd303 | ||
|
9bb55785f8 | ||
|
03de771b53 | ||
|
93b88c6ec3 | ||
|
8daaedc809 | ||
|
79eebb5210 | ||
|
eec0975eda | ||
|
7fd517dcb4 | ||
|
f27f11fbf6 | ||
|
92fefa5476 | ||
|
94babead9d | ||
|
67d937b081 | ||
|
f71c417c15 | ||
|
fe9417dcfc | ||
|
25c110818e | ||
|
69a63c1572 | ||
|
c48ed61e06 | ||
|
2e6dc4426b | ||
|
969dc8ebc4 | ||
|
c1aa04b1fe | ||
|
2da2c45382 | ||
|
03acb77306 | ||
|
5d9ee59036 | ||
|
2e76df1a89 | ||
|
6a9dfe654d | ||
|
d4e2a39940 | ||
|
31ede89079 | ||
|
e6a29cb051 | ||
|
af950078ed | ||
|
f4b938146d | ||
|
818b78a42c | ||
|
5d3367846e | ||
|
c697be7ddd | ||
|
116219292c | ||
|
b46b29aa8e | ||
|
4f63edf25e | ||
|
356cde2d5c | ||
|
be134e1e65 | ||
|
773a344a2f | ||
|
431944c3b2 | ||
|
73a31ef2f9 | ||
|
f0d06cbf8a | ||
|
8d57d0c126 | ||
|
f0bc888355 | ||
|
2cf811f76c | ||
|
6667caa1d0 | ||
|
23a4cb455d | ||
|
3acd7709c1 | ||
|
c84a21a9a2 | ||
|
c686a8e5ea | ||
|
761e83a5f3 | ||
|
a0adc207de | ||
|
924f932145 | ||
|
3f8e1f6a7a | ||
|
5636a81d15 | ||
|
b164bc3e23 | ||
|
5a63b7eed7 | ||
|
1523eba59c | ||
|
bf80df04e9 | ||
|
14a9b92c70 | ||
|
d3a5b4170a | ||
|
c8ecf3f51d | ||
|
fa3fb8ec89 | ||
|
e4eaf30e8a | ||
|
a32c574106 | ||
|
634c97aa0f | ||
|
5651742660 | ||
|
01223be0dc | ||
|
e0b43606b3 | ||
|
15ae6b938d | ||
|
c2383feb04 | ||
|
bc99de09f2 | ||
|
f9f29d2663 | ||
|
311a2c9e79 | ||
|
4ced00d0f9 | ||
|
cde0f53ad6 | ||
|
6001475a3c | ||
|
662cf5eee5 | ||
|
17bbe4d9ff | ||
|
d24b942921 | ||
|
7159279ac8 | ||
|
6fcd7a7038 | ||
|
5028dd6ad4 | ||
|
78ae5e3f56 | ||
|
89d46632b3 | ||
|
cd35d103dd | ||
|
b1457698c8 | ||
|
f2b27cca75 | ||
|
2a8899dcd9 | ||
|
7d8a031cbd | ||
|
3c28ecd16c | ||
|
cf2f209f8c | ||
|
0d2b570454 | ||
|
047ffb1c20 | ||
|
f05943baaa | ||
|
0fe1d7da76 | ||
|
47f2742b72 | ||
|
527f844403 | ||
|
fa3d463d3b | ||
|
af451350a4 | ||
|
415969e8bf | ||
|
c4f2385e72 | ||
|
3f1f2ee4fb | ||
|
da060996ec | ||
|
1b5cd4f50e | ||
|
0674776c4b | ||
|
a5e397d005 | ||
|
11a15840d3 | ||
|
f69c0ad39f | ||
|
fd538897d0 | ||
|
3280507bec | ||
|
83019b173b | ||
|
f66b2f2df8 | ||
|
d743606b70 | ||
|
989b94e532 | ||
|
1a7ecc6adf | ||
|
39a4db1ecd | ||
|
b3dd6fae7a | ||
|
eb6d6971f7 | ||
|
d978eccbc9 | ||
|
8b46cb6fd0 | ||
|
1dc0f0e524 | ||
|
4b38a649bf | ||
|
9912951d2b | ||
|
f504e9b53d | ||
|
b7806022af | ||
|
439703abdf | ||
|
fec9432a03 | ||
|
7241de5145 | ||
|
ffc95a04a8 | ||
|
9a8942ae9d | ||
|
415ea172c8 | ||
|
3c139fec06 | ||
|
7796807d19 | ||
|
7d91b43bba | ||
|
c01c44186e | ||
|
fab59a5f4b | ||
|
1eb156f1aa | ||
|
aa87cc5603 | ||
|
c3dd894094 | ||
|
aa4628b638 | ||
|
4258870aaa | ||
|
e0fa2c32e3 | ||
|
598a3a7df5 | ||
|
a5c70a4e7d | ||
|
9a1cf64e02 | ||
|
4c96ff94e2 | ||
|
54d820e622 | ||
|
ebb4663b84 | ||
|
36f051e129 | ||
|
218946a8b5 | ||
|
11b0358290 | ||
|
400399ce60 | ||
|
25da592578 | ||
|
beaad6e8dd | ||
|
d30f584190 | ||
|
22315d3cb5 | ||
|
7f56c817e0 | ||
|
76e7855e83 | ||
|
bccd8aad5f | ||
|
5e11b28587 | ||
|
39f9cf42f2 | ||
|
a7a4055632 | ||
|
43c27b103a | ||
|
2818aecb96 | ||
|
48f3db2b0c | ||
|
883b0ab438 | ||
|
842ea3df79 | ||
|
3a9416b8f2 | ||
|
fcdaf277ce | ||
|
1729e71808 | ||
|
6c29350918 | ||
|
062f2293d0 | ||
|
38506eb6dc | ||
|
85e0501988 | ||
|
acc8c5606d | ||
|
d2e6d5f240 | ||
|
fc0db2bb22 | ||
|
6e81c70446 | ||
|
fff53a694d | ||
|
6b66fac0cf | ||
|
5dab38539f | ||
|
6af9f5d1c9 | ||
|
d1a6e2303d | ||
|
49de9483ce | ||
|
8c10a7052a | ||
|
7f79f6c236 | ||
|
912c9bb30e | ||
|
5192b3a922 | ||
|
ee64e114f2 | ||
|
bca50abb48 | ||
|
da43be7d12 | ||
|
3c983f9b51 | ||
|
18ae00f485 | ||
|
16f33704fa | ||
|
4344df336b | ||
|
b47297fd4a | ||
|
d9d66249de | ||
|
0d865f78ef | ||
|
6dee053250 | ||
|
fd204c6b01 | ||
|
697158d653 | ||
|
fa98695f4e | ||
|
b78741a564 | ||
|
f4592435aa | ||
|
48c9b54c5b | ||
|
3e8a0336e4 | ||
|
c322cb98ef | ||
|
b49a44e813 | ||
|
025e75116b | ||
|
d08cdc8ced | ||
|
b364eda4ef | ||
|
46215bdfc2 | ||
|
bf3c442f38 | ||
|
73422a9649 | ||
|
b8fa751b6b | ||
|
86498bdc54 | ||
|
8e1608ac6f | ||
|
b8172c6605 | ||
|
43347472f3 | ||
|
8a22e5f095 | ||
|
c758c070c1 | ||
|
88ef1ac681 | ||
|
031ff59852 | ||
|
bed389dba8 | ||
|
75fd81b37d | ||
|
bd6e9d6a73 | ||
|
9e118ac519 | ||
|
e5898cc4f6 | ||
|
e3e91dc363 | ||
|
495d2e1b5d | ||
|
e56ee2e7bf | ||
|
a19a224c20 | ||
|
a16c43f010 | ||
|
a82ee80c41 | ||
|
239875c3d6 | ||
|
bd10426593 | ||
|
0479e6d3ce | ||
|
234487be6c | ||
|
2739d90a5d | ||
|
bbb7ea3857 | ||
|
b269c1cad7 | ||
|
a4555e1271 | ||
|
c9fef983bc | ||
|
7e5f6c85ec | ||
|
6315a3db60 | ||
|
abcce91e4b | ||
|
511a068b69 | ||
|
aa4fbd4dd9 | ||
|
5ed2e3047e | ||
|
3cf1ba5cab | ||
|
f61feb56fd | ||
|
68bd38d1c9 | ||
|
c988925111 | ||
|
dad7003072 | ||
|
808ba2ddb3 | ||
|
59c8880dc1 | ||
|
38b06b36f7 | ||
|
8994317163 | ||
|
742e3e683d | ||
|
45bffa6f72 | ||
|
41bc9700e6 | ||
|
27e2c226f3 | ||
|
d0f7961d89 | ||
|
fc1b252d04 | ||
|
62a64de93b | ||
|
c02a9d6f4d | ||
|
8cb157abbb | ||
|
75db68ef06 | ||
|
f5c3fada32 | ||
|
82342089bc | ||
|
ba14fbde0a | ||
|
976ca7ab25 | ||
|
5fc01ef102 | ||
|
429e43506c | ||
|
70ff49dfc4 | ||
|
d78276e2c2 | ||
|
0632599385 | ||
|
fb32ed605b | ||
|
25e89c35c9 | ||
|
e6e08ad3fb | ||
|
212406b173 | ||
|
9ba7844a5d | ||
|
1043e73ab8 | ||
|
a00e89d0ed | ||
|
616c388f29 | ||
|
46a8ace31d | ||
|
c2db767863 | ||
|
6c8d35f18d | ||
|
4123181bd5 | ||
|
6871035292 | ||
|
6fdf82ba16 | ||
|
bcb699a50e | ||
|
d691f8e5ea | ||
|
2862114021 | ||
|
51117dbea8 | ||
|
5ac7c127eb | ||
|
695a39b281 | ||
|
77fbeccb59 | ||
|
035e947a5a | ||
|
b606349c08 | ||
|
f1150127ea | ||
|
4b7400f20c | ||
|
5282e5d737 | ||
|
48a37bcc5c | ||
|
572dc0b7ea | ||
|
674b44b288 | ||
|
c4ced72158 | ||
|
31524d7a5a | ||
|
f0a02bd70a | ||
|
f39d836bf1 | ||
|
9e23967b12 | ||
|
6c7e52edd6 | ||
|
67df29ba87 | ||
|
29c58f836b | ||
|
c27880c71d | ||
|
08c5c40705 | ||
|
9d5f8cc359 | ||
|
a6cd45ccff | ||
|
e4eed8358d | ||
|
cee6a51579 | ||
|
a0fd1ce43e | ||
|
a4324c674c | ||
|
2db58b8dbe | ||
|
0f2ff21c47 | ||
|
1a37c920ea | ||
|
adaf22352c | ||
|
e1d190eea7 | ||
|
4d86d4e3f2 | ||
|
992839e13d | ||
|
6fa2940f1b | ||
|
4603e67902 | ||
|
74bfe620a4 | ||
|
aed7dfc8f1 | ||
|
003c7f91b0 | ||
|
9e318c9688 | ||
|
d815333eaf | ||
|
1890b68505 | ||
|
0839ab77fe | ||
|
2ab7180d65 | ||
|
9b473adf41 | ||
|
24fc229be5 | ||
|
7048296a08 | ||
|
af0789ce4f | ||
|
fbdf4257ce | ||
|
e9754b1177 | ||
|
6368910434 | ||
|
119ee9ab8c | ||
|
916ac6f5c5 | ||
|
be825ce98b | ||
|
785d66a4b5 | ||
|
ec761e75bd | ||
|
8961001001 | ||
|
c82a9810c2 | ||
|
e610d863e7 | ||
|
ca0b7ef5f3 | ||
|
5b3300c530 | ||
|
8c6c85c87d | ||
|
2adebb6d78 | ||
|
405b80e54b | ||
|
5f6adc9221 | ||
|
498010ad8f | ||
|
88ae66e186 | ||
|
a87e774aaf | ||
|
64758ebdcc | ||
|
f851c63842 | ||
|
ccc3d1f5bb | ||
|
15d2982dcd | ||
|
fb7406c3e6 | ||
|
4167f17235 | ||
|
4aebc4a203 | ||
|
48a80058e4 | ||
|
ecd491c5d8 | ||
|
9ea37575ad | ||
|
ac626a5794 | ||
|
5e663ccf13 | ||
|
bb6e7f79b8 | ||
|
99e89fe0fb | ||
|
7465f5339d | ||
|
d38931cb26 | ||
|
ca69df49de | ||
|
c33897b908 | ||
|
04115a878f | ||
|
6d35e603f0 | ||
|
91d96a0317 | ||
|
b087149c40 | ||
|
c81aa1a82a | ||
|
3229d2371e | ||
|
04e2de28f0 | ||
|
8e9d2f80e8 | ||
|
91cb5c0e21 | ||
|
bb5d846b04 | ||
|
73b82462fc | ||
|
3fe499899b | ||
|
2895b9c7b8 | ||
|
e0d319d427 | ||
|
5c864b32c4 | ||
|
3f5b4c4a74 | ||
|
f43ee04573 | ||
|
48d8569a1e | ||
|
401fcb0781 | ||
|
8d84f41620 | ||
|
09877656ef | ||
|
65a4e187eb | ||
|
e156e1e4a6 | ||
|
a3d92035f1 | ||
|
3522b89414 | ||
|
58ac07e9a9 | ||
|
a03c1dae81 | ||
|
c93423365f | ||
|
1131b80163 | ||
|
71a2e38f9e | ||
|
d4db88ec7b | ||
|
e6a79dbbdf | ||
|
dd4926a9a1 | ||
|
ff0a66821d | ||
|
335ad1cefe | ||
|
e028d9f7b6 | ||
|
7ac6b6e9e3 | ||
|
4d5950f5fe | ||
|
6004066bd5 | ||
|
5a5d4e5830 | ||
|
108ee2384a | ||
|
79b952753c | ||
|
89d52edaa6 | ||
|
2c8cce1d47 | ||
|
24578306b7 | ||
|
143ae7535b | ||
|
e7b71d796f | ||
|
2911a16604 | ||
|
32150bd4b7 | ||
|
d29ed3eb96 | ||
|
ddce5e5cda | ||
|
422aeff7ac | ||
|
26f31ce81b | ||
|
a7c85f11d9 | ||
|
437df97435 | ||
|
1a71b77010 | ||
|
b7d8ae37e3 | ||
|
3bcb8416ca | ||
|
451455e035 | ||
|
1bd35d212a | ||
|
d8a5352ab9 | ||
|
9ed333c187 | ||
|
6ec82a965d | ||
|
c8efbdfe4b | ||
|
2190a6ef37 | ||
|
f290da2a7f | ||
|
6d285b0784 | ||
|
3485aa8763 | ||
|
4ce75aed1a | ||
|
644f0fb3fd | ||
|
8d9a66fc38 | ||
|
1906d94a9c | ||
|
6cf998c3a0 | ||
|
02528f15db | ||
|
af8402eaf2 | ||
|
47871422b5 | ||
|
d9d6440d43 | ||
|
6d8316d647 | ||
|
81213fbb9d | ||
|
e416ee505b | ||
|
6724c9fb32 | ||
|
a565e9539a | ||
|
783bdf87d6 | ||
|
25a3477b67 | ||
|
c6f735b306 | ||
|
94d8cae85a | ||
|
253e6ba661 | ||
|
e3425873fb | ||
|
290e28a249 | ||
|
83c58ca4a5 | ||
|
da4c1187b3 | ||
|
1b1dcc85db | ||
|
e67c1c075c | ||
|
08a922673b | ||
|
903ed3e675 | ||
|
54c49f37f8 | ||
|
e15efa9273 | ||
|
8644ab7b57 | ||
|
9f1f440b82 | ||
|
ace2dafb29 | ||
|
dbfd01a472 | ||
|
4c50447e61 | ||
|
00bcf2c3f7 | ||
|
7f91cad42f | ||
|
fb0e7f2ecf | ||
|
22e5e3989e | ||
|
6a04f1f08f | ||
|
ce7df80eac | ||
|
6c9f3ab547 | ||
|
f99d20dfa5 | ||
|
eb3dd355b0 | ||
|
7918780af1 | ||
|
c3f07f9460 | ||
|
6fa201c522 | ||
|
d5a85e07ce | ||
|
4283cafb07 | ||
|
a16cb528dc | ||
|
a3616cebfb | ||
|
31ecc54abf | ||
|
7f450dedc7 | ||
|
16fd4d4ab7 | ||
|
e68f4c2de6 | ||
|
f98d25b83c | ||
|
84d7ea797e | ||
|
c84bf5bd46 | ||
|
a475430031 | ||
|
0dc408a8dd | ||
|
cd533062d7 | ||
|
a9b8d37c58 | ||
|
d0b404b752 | ||
|
3146b5c6c8 | ||
|
60cc947770 | ||
|
de63b1d079 | ||
|
964c95474f | ||
|
be10a6ce7e | ||
|
2bb6179475 | ||
|
c77f2f0d63 | ||
|
6fd72fc804 | ||
|
a24d09b8d0 | ||
|
7cb11850e8 | ||
|
6b153794c8 | ||
|
6146ba4eb1 | ||
|
30dac48646 | ||
|
c0ffd35b7d | ||
|
cb9030a6ff | ||
|
5a0a5f24cf | ||
|
184b3b6255 | ||
|
652a8a58e3 | ||
|
94e71209b3 | ||
|
8718940b5d | ||
|
8020803b7d | ||
|
49b9932ab6 | ||
|
755c9c5ad8 | ||
|
ba2edc94cc | ||
|
1244b4bd48 | ||
|
bfdb2a09d2 | ||
|
c4d301a405 | ||
|
4d04aac2a6 | ||
|
199859b6ff | ||
|
ae46639e35 | ||
|
990041adb9 | ||
|
c414a54531 | ||
|
861d7163f6 | ||
|
4406086241 | ||
|
5a2c4c2014 | ||
|
7fe8e5f1fb | ||
|
a697795c08 | ||
|
4ea5d7a631 | ||
|
80593fb643 | ||
|
3de5d4d2a6 | ||
|
45e130202b | ||
|
dfba347f1f | ||
|
2557929f08 | ||
|
201dc4155e | ||
|
4633798d02 | ||
|
b8d3a4c207 | ||
|
3603cdb744 | ||
|
0c0fb16e4d | ||
|
76128e4855 | ||
|
9271e8d846 | ||
|
0bddf640db | ||
|
e28d2e67e7 | ||
|
ecb7694312 | ||
|
50dff006b5 | ||
|
a7d0ec1c91 | ||
|
3370e10802 | ||
|
ea00f4b940 | ||
|
d5d4e8049b | ||
|
43cfdd9dfe | ||
|
880ed9511d | ||
|
1d990a604e | ||
|
341278fdb0 | ||
|
209632457a | ||
|
6c068e6d55 | ||
|
014c19c499 | ||
|
ada8d30ed6 | ||
|
d04bdb04bc | ||
|
d98b405574 | ||
|
2f50095d1e | ||
|
ebdf0b9388 | ||
|
aa4e1d2465 | ||
|
ebf60018e6 | ||
|
d3b1ab2983 | ||
|
7e1363b1f1 | ||
|
a8ec223b22 | ||
|
891c4684e2 | ||
|
7549ba7370 | ||
|
80208b55e2 | ||
|
73fcaff769 | ||
|
2e591cf5e2 | ||
|
9d01111f82 | ||
|
1f40c96dbf | ||
|
13cb795c3d | ||
|
8248e75157 | ||
|
4eee06f76f | ||
|
2362005e78 | ||
|
ee980f153c | ||
|
4c57f528f6 | ||
|
580da37a2f | ||
|
1af600fdd1 | ||
|
97c37da187 | ||
|
9d0cf061ed | ||
|
65bcf7fe40 | ||
|
9b79a4bed4 | ||
|
e7663c7bda | ||
|
c5fb4ee47b | ||
|
5868866fc0 | ||
|
7628d81393 | ||
|
84cca8fe82 | ||
|
e6dde560d4 | ||
|
993b6672be | ||
|
adba0da89e | ||
|
10f465e3eb | ||
|
09bd61f91d | ||
|
a5cea5660d | ||
|
3782b6c7ae | ||
|
4b84c82529 | ||
|
f855ebf170 | ||
|
60853ceda7 | ||
|
8dbfd4cca2 | ||
|
33cbec49c1 | ||
|
96b263fd2e | ||
|
337488f117 | ||
|
45ad9473d2 | ||
|
0953fdb347 | ||
|
140ce5fa83 | ||
|
b77840c14f | ||
|
1f6aa1cf73 | ||
|
ee8f8e4471 | ||
|
7c2fe8b8db | ||
|
b8ff50f52d | ||
|
f2a313723a | ||
|
15dc362ba5 | ||
|
5ea913f79d | ||
|
17d7828ac3 | ||
|
03ea0ea60d | ||
|
8a4b58652b | ||
|
20f8a1ea14 | ||
|
d5146337de | ||
|
8eee7a509f | ||
|
a751edf51b | ||
|
ee4c46a442 | ||
|
febbb97aba | ||
|
956ad5e201 | ||
|
6cc5da1e45 | ||
|
9057ed25e4 | ||
|
7a2ff6c15d | ||
|
2ed6494494 | ||
|
2e81d39275 | ||
|
f26ee062b7 | ||
|
e407fb9f04 | ||
|
aaa7ff2994 | ||
|
f8d9309c27 | ||
|
7d71eac1bc | ||
|
df16ad5ae4 | ||
|
90ac2c90e9 | ||
|
5fce455fbd | ||
|
868224bcfe | ||
|
9dc13f977e | ||
|
853a5cc490 | ||
|
8dbff5c7bc | ||
|
8ac31f7ea0 | ||
|
575fc9acf8 | ||
|
f1b146bb61 | ||
|
d8945198f4 | ||
|
1444c8d168 | ||
|
03503075c1 | ||
|
f95705dde4 | ||
|
0dda488739 | ||
|
9e9cc31051 | ||
|
0409aa5dae | ||
|
2b69123f59 | ||
|
0b9f07f3c4 | ||
|
6f4a76d74e | ||
|
af632b0a4d | ||
|
b1785277a2 | ||
|
7dfd5af072 | ||
|
8b1335accc | ||
|
a3f64cb4c7 | ||
|
5aa6b3939f | ||
|
b429de71e3 | ||
|
abc9cd8adc | ||
|
4cc8e56e9d | ||
|
45bf8e2bca | ||
|
b855b1f6f5 | ||
|
7503ecd781 | ||
|
6d8d504d44 | ||
|
c339bd5fd2 | ||
|
95203ac8f2 | ||
|
a852f74641 | ||
|
ff1d63c0d4 | ||
|
7391f48c28 | ||
|
662734e405 | ||
|
475ae801d1 | ||
|
b466e4fb99 | ||
|
65d9e280ca | ||
|
dd15aa9adb | ||
|
380583a92c | ||
|
ecb58f988a | ||
|
88437e42cc | ||
|
4b1eefa9d0 | ||
|
4c8b474c29 | ||
|
efe60a17ba | ||
|
b40a9e0de6 | ||
|
81686d9864 | ||
|
ada963a2f1 | ||
|
8c5ed3e0b1 | ||
|
c6c639c0db | ||
|
77d6c0061e | ||
|
9f368febfc | ||
|
fe32580027 | ||
|
bea09627b2 | ||
|
d6b9ee8db8 | ||
|
7e3f10b2ff | ||
|
6a1b6a21ae | ||
|
63a59e2317 | ||
|
74ac0ceb7a | ||
|
01a607f7dc | ||
|
6f1fddfedf | ||
|
cd44d8b7f2 | ||
|
0cc2bf4b79 | ||
|
6f4c21d5b9 | ||
|
8e0f2ed721 | ||
|
e806cdb044 | ||
|
f0f37853ca | ||
|
f52a0685c2 | ||
|
a474ffa8f9 | ||
|
4f98dc974a | ||
|
9c2c5e986e | ||
|
f7879126da | ||
|
f095f4aa77 | ||
|
5b285ebc8c | ||
|
6acb8028e3 | ||
|
9389d4abdc | ||
|
598c702e1e | ||
|
70f1a7cc8b | ||
|
803e5c26d3 | ||
|
09c67d5478 | ||
|
e4d534747a | ||
|
10541997d4 | ||
|
d53e2ef323 | ||
|
4276a5d917 | ||
|
ade079dea7 | ||
|
d69724123d | ||
|
ac18dad59c | ||
|
26710f262e | ||
|
735c118910 | ||
|
f4642e5fd3 | ||
|
133ea5b222 | ||
|
a2884184e1 | ||
|
0d1031582a | ||
|
7efb9e8a4b | ||
|
c9c06f833a | ||
|
1f293cc4f4 | ||
|
d79d9286b1 | ||
|
32e031ab7d | ||
|
857d5556ae | ||
|
8d7f2d133c | ||
|
602ac0e1a5 | ||
|
8239e0b11e | ||
|
d9ed3058db | ||
|
b0736cf6cb | ||
|
c41987d1db | ||
|
d99abac75c | ||
|
4c83f401ba | ||
|
855cfd7370 | ||
|
fd2fdd91f0 | ||
|
2de85fab4b | ||
|
cd4bd7073c | ||
|
9b43b4fb96 | ||
|
f307d375f1 | ||
|
8fcde02f6c | ||
|
9add4e5f82 | ||
|
1af391f4db | ||
|
1664bce8c7 | ||
|
d2e381f987 | ||
|
365af73635 | ||
|
b4751481b8 | ||
|
44405eed8a | ||
|
c770f573be | ||
|
810cae271f | ||
|
0b0d372274 | ||
|
c0a867f9df | ||
|
4d4dde64eb | ||
|
5094a8ce8e | ||
|
7223ff2356 | ||
|
9d7d8f66af | ||
|
db542b9ba2 | ||
|
05899763e2 | ||
|
bca53c5cf7 | ||
|
06acbe57a3 | ||
|
99f778f109 | ||
|
88e04129c7 | ||
|
f11abdc99d | ||
|
0543548fdd | ||
|
1da1068d60 | ||
|
3ba72d4508 | ||
|
4620c2ebff | ||
|
ebe352d5cc | ||
|
c191a84f7a | ||
|
6f6a301295 | ||
|
4633146e20 | ||
|
3aacccedb1 | ||
|
5b31d9939b | ||
|
fd2a06d4b2 | ||
|
851969c9e0 | ||
|
c790d31b8f | ||
|
99f5d59ce4 | ||
|
b5c4980b3b | ||
|
d07ba2661d | ||
|
3ab31805c6 | ||
|
6ae08c901b | ||
|
ca8e779402 | ||
|
1cd1976a38 | ||
|
a157e690fa | ||
|
f4883a46eb | ||
|
57f228b600 | ||
|
e6551c9b4f | ||
|
e36667624f | ||
|
670916e730 | ||
|
dde4c92b78 | ||
|
89dbf0f96c | ||
|
f9337d77a5 | ||
|
b44669397a | ||
|
6bd7901011 | ||
|
ed0f573432 | ||
|
29fbf0b2f7 | ||
|
20cdbea7a8 | ||
|
fcb3f6abdc | ||
|
64bb5b09ce | ||
|
b79c5c0e45 | ||
|
b957a81846 | ||
|
ff6ec3b1b5 | ||
|
00de278dc7 | ||
|
359baa14dc | ||
|
9cd3fa677b | ||
|
9040bdc8d4 | ||
|
48bb7c1734 | ||
|
ac7c9da4d1 | ||
|
9a1f842437 | ||
|
d3bbf6577e | ||
|
1c68448267 | ||
|
03effce1bd | ||
|
3c767e3fda | ||
|
671041a37f | ||
|
891afa38d4 | ||
|
be81265ee7 | ||
|
78b7d198a7 | ||
|
f54342a20c | ||
|
278d323acd | ||
|
833736a1fc | ||
|
1020fb84e7 | ||
|
542e138e42 | ||
|
00b89f71b3 | ||
|
ffc7e6fb86 | ||
|
550fc26300 | ||
|
63a588bf00 | ||
|
d793249f86 | ||
|
273183ddfb | ||
|
15793931f4 | ||
|
de5b7d9207 | ||
|
6ae314cb14 | ||
|
19d8d944bf | ||
|
765f42a4dc | ||
|
f584ec5317 | ||
|
60d62ea3a1 | ||
|
3670031682 | ||
|
32f068c5ea | ||
|
695dd79db6 | ||
|
ed05a4a356 | ||
|
34cc4e9b0f | ||
|
af6a68e06d | ||
|
eedad3a742 | ||
|
d154a8de28 | ||
|
93f422a2cf | ||
|
0e045ad45d | ||
|
032df04fe1 | ||
|
df33867a44 | ||
|
d528f2f133 | ||
|
687ea08633 | ||
|
e983442197 | ||
|
3d2648ef01 | ||
|
92ef3bbbc3 | ||
|
1c3ba1024f | ||
|
57a3a99ebd | ||
|
b7dfe9da1e | ||
|
2adf4b0707 | ||
|
20be0c7fd5 | ||
|
c5417d98ad | ||
|
045f69d96d | ||
|
57540cfab2 | ||
|
6bc706742e | ||
|
85c9e4f329 | ||
|
406bd7a2ea | ||
|
e2ace10dbc | ||
|
d68b8267b1 | ||
|
51c1096c7b | ||
|
bd7dd56f06 | ||
|
6b04c4e15a | ||
|
f5f83e8148 | ||
|
a4f036cb45 | ||
|
11ed423bca | ||
|
abc32780e3 | ||
|
b8dcdb7758 | ||
|
0a1ec95a33 | ||
|
321ea0eed3 |
140
README.md
@@ -40,7 +40,7 @@ development branch.
|
||||
ProcessWire is a timeless tool for web professionals that has always been
|
||||
committed to the long term. It started in 2003, gained the name ProcessWire
|
||||
in 2006, and has been in active development as an open source project since 2010.
|
||||
Now more than a decade later (2020), we're just getting started, as ProcessWire
|
||||
Now more than a decade later (2023), we’re just getting started, as ProcessWire
|
||||
continues to grow and develop into the next 10 years and beyond.
|
||||
|
||||
While ProcessWire has been around for a long time, don’t feel bad if you haven’t
|
||||
@@ -53,7 +53,7 @@ instead focused on being best-in-class.
|
||||
|
||||
Web developers find ProcessWire when the time is right, after they’ve tried
|
||||
some other platforms. And once they start using ProcessWire, they tend to
|
||||
stay—ProcessWire is addictive, easy to maintain for the long term, and doesn’t
|
||||
stay. ProcessWire is addictive, easy to maintain for the long term, and doesn’t
|
||||
have the security and upgrade woes of other platforms. But don’t take our word
|
||||
for it; unless your livelihood depends on some other platform, find out for
|
||||
yourself.
|
||||
@@ -63,7 +63,9 @@ yourself.
|
||||
|
||||
ProcessWire is more than just software, it is also a friendly community
|
||||
of web professionals dedicated to building great sites and applications, and
|
||||
helping others do so too. Please visit and join our
|
||||
helping others do so too.
|
||||
|
||||
Please visit and join our
|
||||
[friendly community](https://processwire.com/talk/)
|
||||
in the ProcessWire forums, subscribe to our
|
||||
[weekly newsletter](https://processwire.com/community/newsletter/subscribe/)
|
||||
@@ -73,6 +75,12 @@ to see what others are building with ProcessWire, and read our
|
||||
[blog](https://processwire.com/blog/)
|
||||
to stay up-to-date with the latest ProcessWire versions.
|
||||
|
||||
Weekly ProcessWire news is posted by Teppo Koivula on his site
|
||||
[ProcessWire Weekly](https://weekly.pw).
|
||||
Weekly core updates and related topics are posted by Ryan Cramer in the
|
||||
ProcessWire support forum
|
||||
[News and Announcements](https://processwire.com/talk/forum/7-news-amp-announcements/)
|
||||
board.
|
||||
|
||||
### Learn more
|
||||
|
||||
@@ -82,7 +90,7 @@ to stay up-to-date with the latest ProcessWire versions.
|
||||
* [Documentation](https://processwire.com/docs/)
|
||||
* [API reference](https://processwire.com/api/ref/)
|
||||
* [Downloads](https://processwire.com/download/)
|
||||
* [Modules/plugins](https://modules.processwire.com)
|
||||
* [Modules/plugins](https://processwire.com/modules/)
|
||||
* [Showcase](https://processwire.com/sites/)
|
||||
|
||||
-----------------------------------------------------------------
|
||||
@@ -98,107 +106,53 @@ details and instructions. If you run into any trouble, please see our
|
||||
|
||||
## Upgrading ProcessWire
|
||||
|
||||
Before proceeding with any version upgrade, please see the
|
||||
Upgrading is easy and usually just a matter of replacing your `/wire/` directory
|
||||
with the one from the new version. But to be safe, before proceeding with any version upgrade, please see the
|
||||
[Upgrading ProcessWire](https://processwire.com/docs/start/install/upgrade/)
|
||||
guide and keep it open during your upgrade in case you need to refer back to it.
|
||||
|
||||
|
||||
### Upgrading from ProcessWire 3.x (earlier version)
|
||||
guide and perhaps keep it open during your upgrade in case you need to refer back to it.
|
||||
|
||||
When upgrading from one 3.x version to another, please use the
|
||||
[General Upgrade Process](https://processwire.com/docs/start/install/upgrade/#general-upgrade-process).
|
||||
This consists primarily of making sure you've got everything backed up and then
|
||||
just replacing your `/wire/` directory with the one from the newest version.
|
||||
[general upgrade process](https://processwire.com/docs/start/install/upgrade/#general-upgrade-process).
|
||||
This consists primarily of making sure you've got everything backed up and then just
|
||||
replacing your `/wire/` directory with the one from the newer version.
|
||||
|
||||
In addition, if you are currently running any 3.x version prior to 3.0.135,
|
||||
you will also want to upgrade your root `.htaccess` file to the newest version:
|
||||
- If you are upgrading from a 3.x version prior to 3.0.135 then please also follow
|
||||
[these instructions](https://processwire.com/docs/start/install/upgrade/from-3.x/).
|
||||
|
||||
#### Upgrading your .htaccess file
|
||||
- If you are upgrading from any 2.x version then please see
|
||||
[upgrading from ProcessWire 2.x](https://processwire.com/docs/start/install/upgrade/from-2.x/).
|
||||
|
||||
* If you haven't made any custom modifications to your .htaccess file then you
|
||||
can simply replace the old one with the new one. The new one is in a file
|
||||
named `htaccess.txt` so you'll rename it to `.htaccess` after removing
|
||||
your old one (all in the same directory as this README file).
|
||||
|
||||
* If your .htaccess file does have custom modifications, you know what they
|
||||
are, and are comfortable applying them to the new one — go ahead and
|
||||
follow the step above and then make those same modifications to the new
|
||||
.htaccess file.
|
||||
|
||||
* If you aren't sure what custom modifications your .htaccess file might
|
||||
have, or how to apply them to the new one, please see this post which will
|
||||
quickly guide you through it:
|
||||
[How to upgrade an existing .htaccess file](https://processwire.com/blog/posts/pw-3.0.135/#how-to-update-an-existing-htaccess-file)
|
||||
|
||||
*If you are curious what's new in this latest .htaccess file version,
|
||||
please see [this post](https://processwire.com/blog/posts/pw-3.0.135/)
|
||||
for all the details.*
|
||||
- If you run into any trouble upgrading, please see our
|
||||
[troubleshooting upgrades guide](https://processwire.com/docs/start/install/troubleshooting/#troubleshooting-upgrades).
|
||||
|
||||
|
||||
### Pro module version upgrade notes (if applicable)
|
||||
|
||||
### Upgrading from ProcessWire 2.x
|
||||
|
||||
If upgrading from ProcessWire 2.5 or older, we recommend that you upgrade
|
||||
to ProcessWire [2.7](https://github.com/ryancramerdesign/processwire) first.
|
||||
This version includes details in the README file on how to upgrade from that
|
||||
older version of ProcessWire. To upgrade from ProcessWire 2.6 (or newer)
|
||||
to ProcessWire 3.x, please follow the instructions below.
|
||||
|
||||
1. Login to the admin of your site.
|
||||
|
||||
2. Edit your `/site/config.php` file and set `$config->debug = true;` to ensure
|
||||
you can see error messages. This is optional but recommended.
|
||||
|
||||
3. Replace your `/wire/` directory and `/index.php` file with the new ones from here.
|
||||
|
||||
4. Click a navigation link in your admin, such as "Pages". You may notice a delay.
|
||||
This is ProcessWire compiling 3rd party modules into a format that is
|
||||
compatible with version 3.x. Keep an eye out for any error messages.
|
||||
If you see any issues, it's possible you may need to upgrade one or more
|
||||
3rd party modules. If you see messages about it applying updates, keep hitting
|
||||
reload in your browser until you no longer see any update messages.
|
||||
|
||||
5. Once you've resolved error messages in your admin, you'll want to test out
|
||||
the front end of your site. Again, expect a delay while ProcessWire compiles
|
||||
any files to make them compatible with 3.x. Depending on your template file
|
||||
strategy, updates may or may not be necessary. If you run into any pages
|
||||
that aren't working, see the section further down on troubleshooting.
|
||||
Thoroughly test every aspect if your site to ensure that everything is
|
||||
working as you expect.
|
||||
|
||||
6. When you've confirmed a successful upgrade, remember to restore the
|
||||
`$config->debug` setting back to `false` in your /site/config.php file.
|
||||
|
||||
**Troubleshooting a 3.x upgrade**
|
||||
If you run into any trouble upgrading, please see our
|
||||
[troubleshooting upgrades guide](https://processwire.com/docs/start/install/troubleshooting/#troubleshooting-upgrades).
|
||||
|
||||
|
||||
### Pro module upgrade notes
|
||||
|
||||
- If using [FormBuilder](https://processwire.com/store/form-builder/),
|
||||
we recommend using only v0.3.0 or newer, but v0.4.0 or newer if possible.
|
||||
- If using [ProCache](https://processwire.com/store/pro-cache/),
|
||||
we recommend using only v3.1.4 or newer.
|
||||
- If using [ListerPro](https://processwire.com/store/lister-pro/),
|
||||
we recommend using only v1.0.9 or newer.
|
||||
- If using [ProFields](https://processwire.com/store/pro-fields/),
|
||||
we recommend grabbing the latest versions in the ProFields support board.
|
||||
- If using ProCache and you upgraded your .htaccess file, you should
|
||||
go to your ProCache settings after the upgrade to have it update
|
||||
your .htaccess file again. If no upgrades to your .htaccess file
|
||||
are necessary, then the ProCache settings page won't mention it.
|
||||
|
||||
- [FormBuilder](https://processwire.com/store/form-builder/)
|
||||
version 0.4.0 or newer required, 0.5.2 or newer recommended.
|
||||
- [ListerPro](https://processwire.com/store/lister-pro/)
|
||||
version 1.0.9 or newer required, 1.1.4 or newer recommended.
|
||||
- [ProFields](https://processwire.com/store/pro-fields/)
|
||||
the latest versions of all ProFields (10 modules) are recommended.
|
||||
- [LoginRegisterPro](https://processwire.com/store/login-register-pro/)
|
||||
all versions supported but version 5 or newer recommended.
|
||||
- [ProCache](https://processwire.com/store/pro-cache/)
|
||||
version 3.1.4 or newer required, 4.0.0 or newer recommended.
|
||||
After upgrading, go to your ProCache settings in the admin (Setup > ProCache)
|
||||
and see if it suggests any modifications to your .htaccess file.
|
||||
- For all other Pro modules not mentioned above (ProMailer, ProDrafts,
|
||||
ProDevTools, Likes) there are no specific version requirements but we
|
||||
recommend using the latest available versions when possible.
|
||||
|
||||
## Debug Mode
|
||||
|
||||
Debug mode causes all errors to be reported to the screen, which can be
|
||||
Debug mode causes all errors to be reported to the screen. This can be
|
||||
helpful during development or troubleshooting. When in the admin, it also
|
||||
enables reporting of extra information in the footer. Debug mode is not
|
||||
intended for live or production sites, as the information reported could
|
||||
be a problem for security. So be sure not to leave debug mode on for
|
||||
any live/production sites. However, we think you'll find it very handy
|
||||
during development or when resolving issues.
|
||||
enables a “Debug” link (see footer) for reporting of extra information in a
|
||||
panel. Debug mode is not intended for live or production sites, as the
|
||||
information reported is for the developer only. Do not leave debug mode
|
||||
on for any live/production sites, as it could be a security concern. However,
|
||||
we think you'll find it very handy during development or when resolving issues.
|
||||
|
||||
1. Edit this file: `/site/config.php`
|
||||
2. Find this line: `$config->debug = false;`
|
||||
@@ -227,5 +181,5 @@ resolved any issues.
|
||||
|
||||
------
|
||||
|
||||
Copyright 2020 by Ryan Cramer / Ryan Cramer Design, LLC
|
||||
Copyright 2023 by Ryan Cramer / Ryan Cramer Design, LLC
|
||||
|
||||
|
@@ -14,7 +14,7 @@
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": ">=5.3.8",
|
||||
"php": ">=5.5",
|
||||
"ext-gd": "*"
|
||||
},
|
||||
"autoload": {
|
||||
|
98
htaccess.txt
@@ -188,14 +188,18 @@ DirectoryIndex index.php index.html index.htm
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# 9. Optionally Force HTTPS (O)
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# Note that on some web hosts you may need to replace %{HTTPS} with %{ENV:HTTPS} in order
|
||||
# for it to work (in sections 9A and 9D below). If on a load balancer or proxy setup, you will
|
||||
# likely need to use 9B rather than 9A, and 9E rather than 9D.
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
|
||||
# 9A. To redirect HTTP requests to HTTPS, uncomment the lines below:
|
||||
# 9A. To redirect HTTP requests to HTTPS, uncomment the lines below (also see note above):
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# RewriteCond %{HTTPS} !=on
|
||||
# RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
|
||||
|
||||
|
||||
# 9B. If using load balancer/AWS, use the following rather than 9A above: (L)
|
||||
# 9B. If using load balancer/AWS or behind proxy, use the following rather than 9A above: (L)
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# RewriteCond %{HTTP:X-Forwarded-Proto} =http
|
||||
# RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
|
||||
@@ -209,7 +213,7 @@ DirectoryIndex index.php index.html index.htm
|
||||
# RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
|
||||
|
||||
|
||||
# 9D. Store current scheme in a 'proto' environment variable for later use in this file
|
||||
# 9D. Store current scheme in a 'proto' environment variable for later use
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
RewriteCond %{HTTPS} =on
|
||||
RewriteRule ^ - [env=proto:https]
|
||||
@@ -217,7 +221,7 @@ DirectoryIndex index.php index.html index.htm
|
||||
RewriteRule ^ - [env=proto:http]
|
||||
|
||||
|
||||
# 9E. If using Load balancer/AWS- Use lines below rather than 9D: (L)
|
||||
# 9E. If using load balancer/AWS or behind proxy, use lines below rather than 9D: (L)
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# RewriteCond %{HTTP:X-Forwarded-Proto} =https
|
||||
# RewriteRule ^ - [env=proto:https]
|
||||
@@ -241,7 +245,58 @@ DirectoryIndex index.php index.html index.htm
|
||||
</IfModule>
|
||||
|
||||
|
||||
# Sections 10 and 11 intentionally omitted
|
||||
# Section 10 intentionally omitted for future use
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# 11. Nuisance blocking/firewall
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# None of these are enabled by default, but are here for convenience when the need arises.
|
||||
# Review and uncomment as needed. For more complete firewall (and more overhead), the 7G firewall
|
||||
# (or latest version) is worth considering, see: https://perishablepress.com/7g-firewall/
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
|
||||
# 11A. Block via IP addresses
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# Note that IP addresses here are examples only and should be replaced with actual IPs.
|
||||
|
||||
# Block single IP address
|
||||
# Deny from 111.222.333.444
|
||||
|
||||
# Block multiple IP addresses
|
||||
# Deny from 111.222.333.444 44.33.22.11
|
||||
|
||||
# Block IP address ranges (999.88.*, 99.88.77.*, 1.2.3.*)
|
||||
# Deny from 999.888 99.88.77 1.2.3
|
||||
|
||||
# 11B. Block via request URI (matches strings anywhere in request URL)
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# RewriteCond %{REQUEST_URI} (bad-word|wp-admin|wp-content) [NC]
|
||||
# RewriteRule .* - [F,L]
|
||||
|
||||
# 11B. Block via user agent strings (matches strings anywhere in user-agent)
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# RewriteCond %{HTTP_USER_AGENT} (bad-bot|mean-bot) [NC]
|
||||
# RewriteRule .* - [F,L]
|
||||
|
||||
# 11C. Block via remote hosts
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# RewriteCond %{REMOTE_HOST} (bad-host|annoying-host) [NC]
|
||||
# RewriteRule .* - [F,L]
|
||||
|
||||
# 11D. Block via HTTP referrer (matches anywhere in referrer URL)
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# RewriteCond %{HTTP_REFERER} (bad-referrer|gross-referrer) [NC]
|
||||
# RewriteRule .* - [F,L]
|
||||
|
||||
# 11E. Block unneeded request methods (only if you do not need them)
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# RewriteCond %{REQUEST_METHOD} ^(connect|debug|delete|move|put|trace|track) [NC]
|
||||
# RewriteRule .* - [F,L]
|
||||
|
||||
# 11F. Limit file upload size from Apache (i.e. 10240000=10 MB, adjust as needed)
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# LimitRequestBody 10240000
|
||||
|
||||
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
@@ -256,18 +311,23 @@ DirectoryIndex index.php index.html index.htm
|
||||
# 13. Optional domain redirects (O)
|
||||
#
|
||||
# Redirect domain.com to www.domain.com redirect (or www to domain.com redirect).
|
||||
# If using then uncomment either 13A or 13B, do NOT uncomment both of them or nothing will work.
|
||||
# To use, uncomment either 13A, 13B or 13C. Do not use more than one of them. 13A and 13B
|
||||
# redirect non-www hosts to www.domain.com, 13C redirects www.domain.com host to domain.com.
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
|
||||
# 13A. Redirect domain.com and *.domain.com to www.domain.com (do not combine with 13B):
|
||||
# 13A. Redirect domain.com and *.domain.com to www.domain.com (see also 13B as alternate):
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# RewriteCond %{HTTP_HOST} !^www\. [NC]
|
||||
# RewriteCond %{SERVER_ADDR} !=127.0.0.1
|
||||
# RewriteCond %{SERVER_ADDR} !=::1
|
||||
# RewriteRule ^ %{ENV:PROTO}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
|
||||
|
||||
|
||||
# 13B. Redirect www.domain.com to domain.com (do not combine with 13A):
|
||||
# 13B. Alternate www redirect if 13A does not work for your server:
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# RewriteCond %{HTTP_HOST} !^www\. [NC]
|
||||
# RewriteRule ^ %{ENV:PROTO}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
|
||||
|
||||
# 13C. Redirect www.domain.com to domain.com (do not combine with 13A or 13B):
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
|
||||
# RewriteRule ^ %{ENV:PROTO}://%1%{REQUEST_URI} [R=301,L]
|
||||
@@ -309,19 +369,22 @@ DirectoryIndex index.php index.html index.htm
|
||||
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets.*/-.+/.* [NC,OR]
|
||||
|
||||
# Block access to /wire/config.php, /site/config.php, /site/config-dev.php, /wire/index.config.php, etc.
|
||||
RewriteCond %{REQUEST_URI} (^|/)(wire|site|site-[^/]+)/(config|index\.config|config-dev)\.php$ [NC,OR]
|
||||
RewriteCond %{REQUEST_URI} (^|/)(wire|site|site-[^/]+)/(config|index\.config|config-dev)\.php($|/) [NC,OR]
|
||||
|
||||
# Block access to any PHP-based files in /site/templates-admin/ or /wire/templates-admin/
|
||||
RewriteCond %{REQUEST_URI} (^|/)(wire|site|site-[^/]+)/templates-admin($|/|/.*\.(php|html?|tpl|inc))$ [NC,OR]
|
||||
RewriteCond %{REQUEST_URI} (^|/)(wire|site|site-[^/]+)/templates-admin($|/|/.*\.(php|html?|tpl|inc))($|/) [NC,OR]
|
||||
|
||||
# Block access to any PHP or markup files in /site/templates/ or /site-*/templates/
|
||||
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/templates($|/|/.*\.(php|html?|tpl|inc))$ [NC,OR]
|
||||
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/templates($|/|/.*\.(php|html?|tpl|inc))($|/) [NC,OR]
|
||||
|
||||
# Block access to any files in /site/classes/ or /site-*/classes/
|
||||
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/classes($|/.*) [NC,OR]
|
||||
|
||||
# Block access to any PHP files within /site/assets/ and further
|
||||
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets($|/|/.*\.php)$ [NC,OR]
|
||||
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/assets($|/|/.*\.ph(p|ps|tml|p[0-9]))($|/) [NC,OR]
|
||||
|
||||
# Block access to any PHP, module, inc or info files in core or core modules directories
|
||||
RewriteCond %{REQUEST_URI} (^|/)wire/(core|modules)/.*\.(php|inc|tpl|module|info\.json)$ [NC,OR]
|
||||
RewriteCond %{REQUEST_URI} (^|/)wire/(core|modules)/.*\.(php|inc|tpl|module|info\.json)($|/) [NC,OR]
|
||||
|
||||
# Block access to any PHP, tpl or info.json files in /site/modules/ or /site-*/modules/
|
||||
RewriteCond %{REQUEST_URI} (^|/)(site|site-[^/]+)/modules/.*\.(php|inc|tpl|module|info\.json)$ [NC,OR]
|
||||
@@ -385,7 +448,7 @@ DirectoryIndex index.php index.html index.htm
|
||||
RewriteCond %{REQUEST_FILENAME} !(favicon\.ico|robots\.txt)
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# 18. Optionally (O) prevent PW from attempting to serve images or anything in /site/assets/.
|
||||
# 18. Optionally (O) prevent PW from serving some file types, or anything in /site/assets/.
|
||||
# Both of these lines are optional, but can help to reduce server load. However, they
|
||||
# are not compatible with the $config->pagefileSecure option (if enabled) and they
|
||||
# may produce an Apache 404 rather than your regular 404. You may uncomment the two lines
|
||||
@@ -395,7 +458,7 @@ DirectoryIndex index.php index.html index.htm
|
||||
# section #2 above that makes ProcessWire the 404 handler.
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
|
||||
# RewriteCond %{REQUEST_FILENAME} !\.(jpg|jpeg|gif|png|ico|webp|svg)$ [NC]
|
||||
# RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|gif|png|ico|webp|svg|js|css)$ [NC]
|
||||
# RewriteCond %{REQUEST_FILENAME} !(^|/)site/assets/
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
@@ -415,5 +478,4 @@ DirectoryIndex index.php index.html index.htm
|
||||
|
||||
#################################################################################################
|
||||
# END PROCESSWIRE HTACCESS DIRECTIVES
|
||||
#################################################################################################
|
||||
|
||||
#################################################################################################
|
@@ -10,7 +10,7 @@
|
||||
* do so after you have installed the site, as the installer is not informed
|
||||
* of any changes made in this file.
|
||||
*
|
||||
* ProcessWire 3.x, Copyright 2016 by Ryan Cramer
|
||||
* ProcessWire 3.x, Copyright 2020 by Ryan Cramer
|
||||
* https://processwire.com
|
||||
*
|
||||
* @version 3.0
|
||||
@@ -29,7 +29,7 @@ $rootPath = __DIR__;
|
||||
if(DIRECTORY_SEPARATOR != '/') $rootPath = str_replace(DIRECTORY_SEPARATOR, '/', $rootPath);
|
||||
$composerAutoloader = $rootPath . '/vendor/autoload.php'; // composer autoloader
|
||||
if(file_exists($composerAutoloader)) require_once($composerAutoloader);
|
||||
if(!class_exists("ProcessWire", false)) require_once("$rootPath/wire/core/ProcessWire.php");
|
||||
if(!class_exists("ProcessWire\\ProcessWire", false)) require_once("$rootPath/wire/core/ProcessWire.php");
|
||||
$config = ProcessWire::buildConfig($rootPath);
|
||||
|
||||
if(!$config->dbName) {
|
||||
@@ -50,7 +50,7 @@ $wire = null;
|
||||
try {
|
||||
// Bootstrap ProcessWire's core and make the API available with $wire
|
||||
$wire = new ProcessWire($config);
|
||||
$process = $wire->modules->get('ProcessPageView');
|
||||
$process = $wire->modules->get('ProcessPageView'); /** @var ProcessPageView $process */
|
||||
$wire->wire('process', $process);
|
||||
echo $process->execute($config->internal);
|
||||
$config->internal ? $process->finished() : extract($wire->wire('all')->getArray());
|
||||
|
610
install.php
@@ -1,4 +0,0 @@
|
||||
<?php
|
||||
// Intentionally left blank to test that htaccess rewrite rules are working.
|
||||
// Accessing this file from http should produce a '403 forbidden' error,
|
||||
// since all PHP files are blocked under /assets/.
|
@@ -1,57 +0,0 @@
|
||||
<?php namespace ProcessWire;
|
||||
|
||||
/**
|
||||
* ProcessWire Configuration File
|
||||
*
|
||||
* Site-specific configuration for ProcessWire
|
||||
*
|
||||
* Please see the file /wire/config.php which contains all configuration options you may
|
||||
* specify here. Simply copy any of the configuration options from that file and paste
|
||||
* them into this file in order to modify them.
|
||||
*
|
||||
* SECURITY NOTICE
|
||||
* In non-dedicated environments, you should lock down the permissions of this file so
|
||||
* that it cannot be seen by other users on the system. For more information, please
|
||||
* see the config.php section at: https://processwire.com/docs/security/file-permissions/
|
||||
*
|
||||
* This file is licensed under the MIT license
|
||||
* https://processwire.com/about/license/mit/
|
||||
*
|
||||
* ProcessWire 3.x, Copyright 2019 by Ryan Cramer
|
||||
* https://processwire.com
|
||||
*
|
||||
*/
|
||||
|
||||
if(!defined("PROCESSWIRE")) die();
|
||||
|
||||
/*** SITE CONFIG *************************************************************************/
|
||||
|
||||
/** @var Config $config */
|
||||
|
||||
/**
|
||||
* Prepend template file
|
||||
*
|
||||
* PHP file in /site/templates/ that will be loaded before each page's template file.
|
||||
* Example: _init.php
|
||||
*
|
||||
* @var string
|
||||
*
|
||||
*/
|
||||
$config->prependTemplateFile = '_init.php';
|
||||
|
||||
/**
|
||||
* Allow core API variables to also be accessed as functions?
|
||||
*
|
||||
* Recommended. This enables API varibles like $pages to also be accessed as pages(),
|
||||
* as an example. And so on for most other core variables.
|
||||
*
|
||||
* Benefits are better type hinting, always in scope, and potentially shorter API calls.
|
||||
* See the file /wire/core/FunctionsAPI.php for details on these functions.
|
||||
*
|
||||
* @var bool
|
||||
*
|
||||
*/
|
||||
$config->useFunctionsAPI = true;
|
||||
|
||||
|
||||
/*** INSTALLER CONFIG ********************************************************************/
|
Before Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 160 KiB |
@@ -1 +0,0 @@
|
||||
This file is here to ensure Git adds the dir to the repo. You may delete this file.
|
@@ -1,6 +0,0 @@
|
||||
<?php if(!defined("PROCESSWIRE_INSTALL")) die();
|
||||
$info = array(
|
||||
'title' => "Default (Beginner Edition)",
|
||||
'summary' => "A minimal responsive site profile that serves as a good starting point for new sites or for learning about ProcessWire. Focuses on using the easiest to understand template concepts for new users.",
|
||||
'screenshot' => "screenshot.png"
|
||||
);
|
@@ -1,538 +0,0 @@
|
||||
--- WireDatabaseBackup {"time":"2014-08-27 12:18:44","user":"","dbName":"pw2_blank","description":"","tables":[],"excludeTables":["pages_drafts","pages_roles","permissions","roles","roles_permissions","users","users_roles","user","role","permission"],"excludeCreateTables":[],"excludeExportTables":["field_roles","field_permissions","field_email","field_pass","caches","session_login_throttle","page_path_history"]}
|
||||
|
||||
DROP TABLE IF EXISTS `caches`;
|
||||
CREATE TABLE `caches` (
|
||||
`name` varchar(250) NOT NULL,
|
||||
`data` mediumtext NOT NULL,
|
||||
`expires` datetime NOT NULL,
|
||||
PRIMARY KEY (`name`),
|
||||
KEY `expires` (`expires`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `field_body`;
|
||||
CREATE TABLE `field_body` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` mediumtext NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('27', '<h3>The page you were looking for is not found.</h3><p>Please use our search engine or navigation above to find the page.</p>');
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1', '<h2>What is ProcessWire?</h2>\r\n\r\n<p>ProcessWire gives you full control over your fields, templates and markup. It provides a powerful template system that works the way you do. Not to mention, ProcessWire\'s API makes working with your content easy and enjoyable. <a href=\"http://processwire.com\">Learn more</a></p>\r\n\r\n<h3>About this site profile</h3>\r\n\r\n<p>This is a basic minimal site for you to use in developing your own site or to learn from. There are a few pages here to serve as examples, but this site profile does not make any attempt to demonstrate all that ProcessWire can do. To learn more or ask questions, visit the <a href=\"http://www.processwire.com/talk/\" target=\"_blank\">ProcessWire forums</a> or <a href=\"http://modules.processwire.com/categories/site-profile/\">browse more site profiles</a>. If you are building a new site, this minimal profile is a good place to start. You may use these existing templates and design as they are, or you may replace them entirely.</p>\r\n\r\n<h3>Browse the site</h3>');
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1002', '<h2>Ut capio feugiat saepius torqueo olim</h2>\r\n\r\n<h3>In utinam facilisi eum vicis feugait nimis</h3>\r\n\r\n<p>Iusto incassum appellatio cui macto genitus vel. Lobortis aliquam luctus, roto enim, imputo wisi tamen. Ratis odio, genitus acsi, neo illum consequat consectetuer ut.</p>\r\n\r\n<blockquote>\r\n<p>Wisi fere virtus cogo, ex ut vel nullus similis vel iusto. Tation incassum adsum in, quibus capto premo diam suscipere facilisi. Uxor laoreet mos capio premo feugait ille et. Pecus abigo immitto epulae duis vel. Neque causa, indoles verto, decet ingenium dignissim.</p>\r\n</blockquote>\r\n\r\n<p>Patria iriure vel vel autem proprius indoles ille sit. Tation blandit refoveo, accumsan ut ulciscor lucidus inhibeo capto aptent opes, foras.</p>\r\n\r\n<h3>Dolore ea valde refero feugait utinam luctus</h3>\r\n\r\n<p><img alt=\"Copyright by Austin Cramer for DesignIntelligence. This is a placeholder while he makes new ones for us.\" class=\"align_left\" src=\"/site/assets/files/1002/psych_cartoon_4-20.400x0.jpg\" />Usitas, nostrud transverbero, in, amet, nostrud ad. Ex feugiat opto diam os aliquam regula lobortis dolore ut ut quadrum. Esse eu quis nunc jugis iriure volutpat wisi, fere blandit inhibeo melior, hendrerit, saluto velit. Eu bene ideo dignissim delenit accumsan nunc. Usitas ille autem camur consequat typicus feugait elit ex accumsan nutus accumsan nimis pagus, occuro. Immitto populus, qui feugiat opto pneum letalis paratus. Mara conventio torqueo nibh caecus abigo sit eum brevitas. Populus, duis ex quae exerci hendrerit, si antehabeo nobis, consequat ea praemitto zelus.</p>\r\n\r\n<p>Immitto os ratis euismod conventio erat jus caecus sudo. code test Appellatio consequat, et ibidem ludus nulla dolor augue abdo tego euismod plaga lenis. Sit at nimis venio venio tego os et pecus enim pneum magna nobis ad pneum. Saepius turpis probo refero molior nonummy aliquam neque appellatio jus luctus acsi. Ulciscor refero pagus imputo eu refoveo valetudo duis dolore usitas. Consequat suscipere quod torqueo ratis ullamcorper, dolore lenis, letalis quia quadrum plaga minim.</p>');
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1001', '<h2>Si lobortis singularis genitus ibidem saluto.</h2><p>Dolore ad nunc, mos accumsan paratus duis suscipit luptatum facilisis macto uxor iaceo quadrum. Demoveo, appellatio elit neque ad commodo ea. Wisi, iaceo, tincidunt at commoveo rusticus et, ludus. Feugait at blandit bene blandit suscipere abdo duis ideo bis commoveo pagus ex, velit. Consequat commodo roto accumsan, duis transverbero.</p>');
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1004', '<h2>Pertineo vel dignissim, natu letalis fere odio</h2><p>Magna in gemino, gilvus iusto capto jugis abdo mos aptent acsi qui. Utrum inhibeo humo humo duis quae. Lucidus paulatim facilisi scisco quibus hendrerit conventio adsum.</p><h3>Si lobortis singularis genitus ibidem saluto</h3><ul><li>Feugiat eligo foras ex elit sed indoles hos elit ex antehabeo defui et nostrud.</li><li>Letatio valetudo multo consequat inhibeo ille dignissim pagus et in quadrum eum eu.</li><li>Aliquam si consequat, ut nulla amet et turpis exerci, adsum luctus ne decet, delenit.</li><li>Commoveo nunc diam valetudo cui, aptent commoveo at obruo uxor nulla aliquip augue.</li></ul><p>Iriure, ex velit, praesent vulpes delenit capio vero gilvus inhibeo letatio aliquip metuo qui eros. Transverbero demoveo euismod letatio torqueo melior. Ut odio in suscipit paulatim amet huic letalis suscipere eros causa, letalis magna.</p><ol><li>Feugiat eligo foras ex elit sed indoles hos elit ex antehabeo defui et nostrud.</li><li>Letatio valetudo multo consequat inhibeo ille dignissim pagus et in quadrum eum eu.</li><li>Aliquam si consequat, ut nulla amet et turpis exerci, adsum luctus ne decet, delenit.</li><li>Commoveo nunc diam valetudo cui, aptent commoveo at obruo uxor nulla aliquip augue.</li></ol>');
|
||||
|
||||
DROP TABLE IF EXISTS `field_email`;
|
||||
CREATE TABLE `field_email` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` varchar(250) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `data_exact` (`data`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `field_headline`;
|
||||
CREATE TABLE `field_headline` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` text NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('1', 'Minimal Site Profile');
|
||||
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('1001', 'About Us');
|
||||
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('27', '404 Page Not Found');
|
||||
|
||||
DROP TABLE IF EXISTS `field_images`;
|
||||
CREATE TABLE `field_images` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` varchar(250) NOT NULL,
|
||||
`sort` int(10) unsigned NOT NULL,
|
||||
`description` text NOT NULL,
|
||||
`modified` datetime DEFAULT NULL,
|
||||
`created` datetime DEFAULT NULL,
|
||||
PRIMARY KEY (`pages_id`,`sort`),
|
||||
KEY `data` (`data`),
|
||||
KEY `modified` (`modified`),
|
||||
KEY `created` (`created`),
|
||||
FULLTEXT KEY `description` (`description`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1002', 'psych_cartoon_4-20.jpg', '0', 'Copyright by Austin Cramer for DesignIntelligence. This is a placeholder while he makes new ones for us.', NOW(), NOW());
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'rough_cartoon_puppet.jpg', '1', 'Copyright by Austin Cramer for DesignIntelligence. This is a placeholder while he makes new ones for us.', NOW(), NOW());
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'airport_cartoon_3.jpg', '0', 'Copyright by Austin Cramer for DesignIntelligence. This is a placeholder while he makes new ones for us.', NOW(), NOW());
|
||||
|
||||
DROP TABLE IF EXISTS `field_pass`;
|
||||
CREATE TABLE `field_pass` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` char(40) NOT NULL,
|
||||
`salt` char(32) NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=ascii;
|
||||
|
||||
DROP TABLE IF EXISTS `field_permissions`;
|
||||
CREATE TABLE `field_permissions` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` int(11) NOT NULL,
|
||||
`sort` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`pages_id`,`sort`),
|
||||
KEY `data` (`data`,`pages_id`,`sort`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `field_process`;
|
||||
CREATE TABLE `field_process` (
|
||||
`pages_id` int(11) NOT NULL DEFAULT '0',
|
||||
`data` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('6', '17');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('3', '12');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('8', '12');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('9', '14');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('10', '7');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('11', '47');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('16', '48');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('300', '104');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('21', '50');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('29', '66');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('23', '10');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('304', '138');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('31', '136');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('22', '76');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('30', '68');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('303', '129');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('2', '87');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('302', '121');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('301', '109');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('28', '76');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('1007', '150');
|
||||
|
||||
DROP TABLE IF EXISTS `field_roles`;
|
||||
CREATE TABLE `field_roles` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` int(11) NOT NULL,
|
||||
`sort` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`pages_id`,`sort`),
|
||||
KEY `data` (`data`,`pages_id`,`sort`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `field_sidebar`;
|
||||
CREATE TABLE `field_sidebar` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` mediumtext NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_sidebar` (`pages_id`, `data`) VALUES('1', '<h3>About ProcessWire</h3>\r\n\r\n<p>ProcessWire is an open source CMS and web application framework aimed at the needs of designers, developers and their clients.</p>\r\n\r\n<ul>\r\n <li><a href=\"http://processwire.com/talk/\">Support</a> </li>\r\n <li><a href=\"http://processwire.com/docs/\">Documentation</a></li>\r\n <li><a href=\"http://processwire.com/docs/tutorials/\">Tutorials</a></li>\r\n <li><a href=\"http://cheatsheet.processwire.com\">API Cheatsheet</a></li>\r\n <li><a href=\"http://modules.processwire.com\">Modules/Plugins</a></li>\r\n</ul>');
|
||||
INSERT INTO `field_sidebar` (`pages_id`, `data`) VALUES('1002', '<h3>Sudo nullus</h3>\r\n\r\n<p>Et torqueo vulpes vereor luctus augue quod consectetuer antehabeo causa patria tation ex plaga ut. Abluo delenit wisi iriure eros feugiat probo nisl aliquip nisl, patria. Antehabeo esse camur nisl modo utinam. Sudo nullus ventosus ibidem facilisis saepius eum sino pneum, vicis odio voco opto.</p>');
|
||||
|
||||
DROP TABLE IF EXISTS `field_summary`;
|
||||
CREATE TABLE `field_summary` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` mediumtext NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1002', 'Dolore ea valde refero feugait utinam luctus. Probo velit commoveo et, delenit praesent, suscipit zelus, hendrerit zelus illum facilisi, regula. ');
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1001', 'This is a placeholder page with two child pages to serve as an example. ');
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1005', 'View this template\'s source for a demonstration of how to create a basic site map. ');
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1004', 'Mos erat reprobo in praesent, mara premo, obruo iustum pecus velit lobortis te sagaciter populus.');
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1', 'ProcessWire is an open source CMS and web application framework aimed at the needs of designers, developers and their clients. ');
|
||||
|
||||
DROP TABLE IF EXISTS `field_title`;
|
||||
CREATE TABLE `field_title` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` text NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `data_exact` (`data`(255)),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('11', 'Templates');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('16', 'Fields');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('22', 'Setup');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('3', 'Pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('6', 'Add Page');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('8', 'Tree');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('9', 'Save Sort');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('10', 'Edit Page');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('21', 'Modules');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('29', 'Users');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('30', 'Roles');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('2', 'Admin');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('7', 'Trash');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('27', '404 Page');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('302', 'Insert Link');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('23', 'Login');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('304', 'Profile');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('301', 'Empty Trash');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('300', 'Search');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('303', 'Insert Image');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('28', 'Access');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('31', 'Permissions');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('32', 'Edit pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('34', 'Delete pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('35', 'Move pages (change parent)');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('36', 'View pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('50', 'Sort child pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('51', 'Change templates on pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('52', 'Administer users');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('53', 'User can update profile/password');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('54', 'Lock or unlock a page');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1', 'Home');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1001', 'About');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1002', 'Child page example 1');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1000', 'Search');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1004', 'Child page example 2');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1005', 'Site Map');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1006', 'Use Page Lister');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1007', 'Find');
|
||||
|
||||
DROP TABLE IF EXISTS `fieldgroups`;
|
||||
CREATE TABLE `fieldgroups` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(250) CHARACTER SET ascii NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name` (`name`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=97 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('2', 'admin');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('3', 'user');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('4', 'role');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('5', 'permission');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('1', 'home');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('88', 'sitemap');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('83', 'basic-page');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('80', 'search');
|
||||
|
||||
DROP TABLE IF EXISTS `fieldgroups_fields`;
|
||||
CREATE TABLE `fieldgroups_fields` (
|
||||
`fieldgroups_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`fields_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`sort` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`data` text,
|
||||
PRIMARY KEY (`fieldgroups_id`,`fields_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('2', '2', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('2', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '3', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '4', '2', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('4', '5', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('5', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '92', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '44', '5', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '76', '3', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('80', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '44', '5', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '76', '3', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '78', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('88', '79', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '79', '2', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '82', '4', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('88', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '82', '4', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '78', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '79', '2', NULL);
|
||||
|
||||
DROP TABLE IF EXISTS `fields`;
|
||||
CREATE TABLE `fields` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`type` varchar(128) CHARACTER SET ascii NOT NULL,
|
||||
`name` varchar(250) CHARACTER SET ascii NOT NULL,
|
||||
`flags` int(11) NOT NULL DEFAULT '0',
|
||||
`label` varchar(250) NOT NULL DEFAULT '',
|
||||
`data` text NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name` (`name`),
|
||||
KEY `type` (`type`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=97 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('1', 'FieldtypePageTitle', 'title', '13', 'Title', '{\"required\":1,\"textformatters\":[\"TextformatterEntities\"],\"size\":0,\"maxlength\":255}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('2', 'FieldtypeModule', 'process', '25', 'Process', '{\"description\":\"The process that is executed on this page. Since this is mostly used by ProcessWire internally, it is recommended that you don\'t change the value of this unless adding your own pages in the admin.\",\"collapsed\":1,\"required\":1,\"moduleTypes\":[\"Process\"],\"permanent\":1}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('3', 'FieldtypePassword', 'pass', '24', 'Set Password', '{\"collapsed\":1,\"size\":50,\"maxlength\":128}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('5', 'FieldtypePage', 'permissions', '24', 'Permissions', '{\"derefAsPage\":0,\"parent_id\":31,\"labelFieldName\":\"title\",\"inputfield\":\"InputfieldCheckboxes\"}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('4', 'FieldtypePage', 'roles', '24', 'Roles', '{\"derefAsPage\":0,\"parent_id\":30,\"labelFieldName\":\"name\",\"inputfield\":\"InputfieldCheckboxes\",\"description\":\"User will inherit the permissions assigned to each role. You may assign multiple roles to a user. When accessing a page, the user will only inherit permissions from the roles that are also assigned to the page\'s template.\"}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('92', 'FieldtypeEmail', 'email', '9', 'E-Mail Address', '{\"size\":70,\"maxlength\":255}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('82', 'FieldtypeTextarea', 'sidebar', '0', 'Sidebar', '{\"inputfieldClass\":\"InputfieldCKEditor\",\"rows\":5,\"contentType\":1,\"toolbar\":\"Format, Bold, Italic, -, RemoveFormat\\r\\nNumberedList, BulletedList, -, Blockquote\\r\\nPWLink, Unlink, Anchor\\r\\nPWImage, Table, HorizontalRule, SpecialChar\\r\\nPasteText, PasteFromWord\\r\\nScayt, -, Sourcedialog\",\"inlineMode\":0,\"useACF\":1,\"usePurifier\":1,\"formatTags\":\"p;h2;h3;h4;h5;h6;pre;address\",\"extraPlugins\":[\"pwimage\",\"pwlink\",\"sourcedialog\"],\"removePlugins\":\"image,magicline\",\"toggles\":[2,4,8],\"collapsed\":2}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('44', 'FieldtypeImage', 'images', '0', 'Images', '{\"extensions\":\"gif jpg jpeg png\",\"adminThumbs\":1,\"inputfieldClass\":\"InputfieldImage\",\"maxFiles\":0,\"descriptionRows\":1,\"fileSchema\":2,\"textformatters\":[\"TextformatterEntities\"],\"outputFormat\":1,\"defaultValuePage\":0,\"defaultGrid\":0,\"icon\":\"camera\"}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('79', 'FieldtypeTextarea', 'summary', '1', 'Summary', '{\"textformatters\":[\"TextformatterEntities\"],\"inputfieldClass\":\"InputfieldTextarea\",\"collapsed\":2,\"rows\":3,\"contentType\":0}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('76', 'FieldtypeTextarea', 'body', '0', 'Body', '{\"inputfieldClass\":\"InputfieldCKEditor\",\"rows\":10,\"contentType\":1,\"toolbar\":\"Format, Bold, Italic, -, RemoveFormat\\r\\nNumberedList, BulletedList, -, Blockquote\\r\\nPWLink, Unlink, Anchor\\r\\nPWImage, Table, HorizontalRule, SpecialChar\\r\\nPasteText, PasteFromWord\\r\\nScayt, -, Sourcedialog\",\"inlineMode\":0,\"useACF\":1,\"usePurifier\":1,\"formatTags\":\"p;h2;h3;h4;h5;h6;pre;address\",\"extraPlugins\":[\"pwimage\",\"pwlink\",\"sourcedialog\"],\"removePlugins\":\"image,magicline\",\"toggles\":[2,4,8]}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('78', 'FieldtypeText', 'headline', '0', 'Headline', '{\"description\":\"Use this instead of the Title if a longer headline is needed than what you want to appear in navigation.\",\"textformatters\":[\"TextformatterEntities\"],\"collapsed\":2,\"size\":0,\"maxlength\":1024}');
|
||||
|
||||
DROP TABLE IF EXISTS `modules`;
|
||||
CREATE TABLE `modules` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`class` varchar(128) CHARACTER SET ascii NOT NULL,
|
||||
`flags` int(11) NOT NULL DEFAULT '0',
|
||||
`data` text NOT NULL,
|
||||
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `class` (`class`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=158 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('1', 'FieldtypeTextarea', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('2', 'FieldtypeNumber', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('3', 'FieldtypeText', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('4', 'FieldtypePage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('30', 'InputfieldForm', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('6', 'FieldtypeFile', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('7', 'ProcessPageEdit', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('10', 'ProcessLogin', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('12', 'ProcessPageList', '0', '{\"pageLabelField\":\"title\",\"paginationLimit\":25,\"limit\":50}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('121', 'ProcessPageEditLink', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('14', 'ProcessPageSort', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('15', 'InputfieldPageListSelect', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('117', 'JqueryUI', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('17', 'ProcessPageAdd', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('125', 'SessionLoginThrottle', '3', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('122', 'InputfieldPassword', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('25', 'InputfieldAsmSelect', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('116', 'JqueryCore', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('27', 'FieldtypeModule', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('28', 'FieldtypeDatetime', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('29', 'FieldtypeEmail', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('108', 'InputfieldURL', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('32', 'InputfieldSubmit', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('33', 'InputfieldWrapper', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('34', 'InputfieldText', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('35', 'InputfieldTextarea', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('36', 'InputfieldSelect', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('37', 'InputfieldCheckbox', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('38', 'InputfieldCheckboxes', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('39', 'InputfieldRadios', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('40', 'InputfieldHidden', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('41', 'InputfieldName', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('43', 'InputfieldSelectMultiple', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('45', 'JqueryWireTabs', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('46', 'ProcessPage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('47', 'ProcessTemplate', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('48', 'ProcessField', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('50', 'ProcessModule', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('114', 'PagePermissions', '3', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('97', 'FieldtypeCheckbox', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('115', 'PageRender', '3', '{\"clearCache\":1}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('55', 'InputfieldFile', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('56', 'InputfieldImage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('57', 'FieldtypeImage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('60', 'InputfieldPage', '0', '{\"inputfieldClasses\":[\"InputfieldSelect\",\"InputfieldSelectMultiple\",\"InputfieldCheckboxes\",\"InputfieldRadios\",\"InputfieldAsmSelect\",\"InputfieldPageListSelect\",\"InputfieldPageListSelectMultiple\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('61', 'TextformatterEntities', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('66', 'ProcessUser', '0', '{\"showFields\":[\"name\",\"email\",\"roles\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('67', 'MarkupAdminDataTable', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('68', 'ProcessRole', '0', '{\"showFields\":[\"name\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('76', 'ProcessList', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('78', 'InputfieldFieldset', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('79', 'InputfieldMarkup', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('80', 'InputfieldEmail', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('89', 'FieldtypeFloat', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('83', 'ProcessPageView', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('84', 'FieldtypeInteger', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('85', 'InputfieldInteger', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('86', 'InputfieldPageName', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('87', 'ProcessHome', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('90', 'InputfieldFloat', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('94', 'InputfieldDatetime', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('98', 'MarkupPagerNav', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('129', 'ProcessPageEditImageSelect', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('103', 'JqueryTableSorter', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('104', 'ProcessPageSearch', '1', '{\"searchFields\":\"title\",\"displayField\":\"title path\"}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('105', 'FieldtypeFieldsetOpen', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('106', 'FieldtypeFieldsetClose', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('107', 'FieldtypeFieldsetTabOpen', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('109', 'ProcessPageTrash', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('111', 'FieldtypePageTitle', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('112', 'InputfieldPageTitle', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('113', 'MarkupPageArray', '3', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('131', 'InputfieldButton', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('133', 'FieldtypePassword', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('134', 'ProcessPageType', '1', '{\"showFields\":[]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('135', 'FieldtypeURL', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('136', 'ProcessPermission', '1', '{\"showFields\":[\"name\",\"title\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('137', 'InputfieldPageListSelectMultiple', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('138', 'ProcessProfile', '1', '{\"profileFields\":[\"pass\",\"email\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('139', 'SystemUpdater', '1', '{\"systemVersion\":7}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('148', 'AdminThemeDefault', '2', '{\"colors\":\"classic\"}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('149', 'InputfieldSelector', '2', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('150', 'ProcessPageLister', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('151', 'JqueryMagnific', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('152', 'PagePathHistory', '3', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('155', 'InputfieldCKEditor', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('156', 'MarkupHTMLPurifier', '0', '', NOW());
|
||||
|
||||
DROP TABLE IF EXISTS `page_path_history`;
|
||||
CREATE TABLE `page_path_history` (
|
||||
`path` varchar(250) NOT NULL,
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`path`),
|
||||
KEY `pages_id` (`pages_id`),
|
||||
KEY `created` (`created`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `pages`;
|
||||
CREATE TABLE `pages` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`parent_id` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`templates_id` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`name` varchar(128) CHARACTER SET ascii NOT NULL,
|
||||
`status` int(10) unsigned NOT NULL DEFAULT '1',
|
||||
`modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified_users_id` int(10) unsigned NOT NULL DEFAULT '2',
|
||||
`created` timestamp NOT NULL DEFAULT '2015-12-18 06:09:00',
|
||||
`created_users_id` int(10) unsigned NOT NULL DEFAULT '2',
|
||||
`sort` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name_parent_id` (`name`,`parent_id`),
|
||||
KEY `parent_id` (`parent_id`),
|
||||
KEY `templates_id` (`templates_id`),
|
||||
KEY `modified` (`modified`),
|
||||
KEY `created` (`created`),
|
||||
KEY `status` (`status`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=1009 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1', '0', '1', 'home', '9', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('2', '1', '2', 'processwire', '1035', NOW(), '40', NOW(), '2', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('3', '2', '2', 'page', '21', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('6', '3', '2', 'add', '1045', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('7', '1', '2', 'trash', '1039', NOW(), '41', NOW(), '2', '6');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('8', '3', '2', 'list', '21', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('9', '3', '2', 'sort', '1047', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('10', '3', '2', 'edit', '1045', NOW(), '41', NOW(), '2', '3');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('11', '22', '2', 'template', '21', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('16', '22', '2', 'field', '21', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('21', '2', '2', 'module', '21', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('22', '2', '2', 'setup', '21', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('23', '2', '2', 'login', '1035', NOW(), '41', NOW(), '2', '4');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('27', '1', '29', 'http404', '1035', NOW(), '41', NOW(), '3', '4');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('28', '2', '2', 'access', '13', NOW(), '41', NOW(), '2', '3');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('29', '28', '2', 'users', '29', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('30', '28', '2', 'roles', '29', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('31', '28', '2', 'permissions', '29', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('32', '31', '5', 'page-edit', '25', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('34', '31', '5', 'page-delete', '25', NOW(), '41', NOW(), '2', '3');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('35', '31', '5', 'page-move', '25', NOW(), '41', NOW(), '2', '4');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('36', '31', '5', 'page-view', '25', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('37', '30', '4', 'guest', '25', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('38', '30', '4', 'superuser', '25', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('41', '29', '3', 'admin', '1', NOW(), '40', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('40', '29', '3', 'guest', '25', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('50', '31', '5', 'page-sort', '25', NOW(), '41', NOW(), '41', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('51', '31', '5', 'page-template', '25', NOW(), '41', NOW(), '41', '6');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('52', '31', '5', 'user-admin', '25', NOW(), '41', NOW(), '41', '10');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('53', '31', '5', 'profile-edit', '1', NOW(), '41', NOW(), '41', '13');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('54', '31', '5', 'page-lock', '1', NOW(), '41', NOW(), '41', '8');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('300', '3', '2', 'search', '1045', NOW(), '41', NOW(), '2', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('301', '3', '2', 'trash', '1047', NOW(), '41', NOW(), '2', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('302', '3', '2', 'link', '1041', NOW(), '41', NOW(), '2', '6');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('303', '3', '2', 'image', '1041', NOW(), '41', NOW(), '2', '7');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('304', '2', '2', 'profile', '1025', NOW(), '41', NOW(), '41', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1000', '1', '26', 'search', '1025', NOW(), '41', NOW(), '2', '3');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1001', '1', '29', 'about', '1', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1002', '1001', '29', 'what', '1', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1004', '1001', '29', 'background', '1', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1005', '1', '34', 'site-map', '1', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1006', '31', '5', 'page-lister', '1', NOW(), '40', NOW(), '40', '9');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1007', '3', '2', 'lister', '1', NOW(), '40', NOW(), '40', '8');
|
||||
|
||||
DROP TABLE IF EXISTS `pages_access`;
|
||||
CREATE TABLE `pages_access` (
|
||||
`pages_id` int(11) NOT NULL,
|
||||
`templates_id` int(11) NOT NULL,
|
||||
`ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `templates_id` (`templates_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('37', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('38', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('32', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('34', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('35', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('36', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('50', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('51', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('52', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('53', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('54', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('1006', '2', NOW());
|
||||
|
||||
DROP TABLE IF EXISTS `pages_parents`;
|
||||
CREATE TABLE `pages_parents` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`parents_id` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`pages_id`,`parents_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('2', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('3', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('3', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('7', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('22', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('22', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('28', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('28', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '28');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '28');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '28');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1001', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1002', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1002', '1001');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1004', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1004', '1001');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1005', '1');
|
||||
|
||||
DROP TABLE IF EXISTS `pages_sortfields`;
|
||||
CREATE TABLE `pages_sortfields` (
|
||||
`pages_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`sortfield` varchar(20) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`pages_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `session_login_throttle`;
|
||||
CREATE TABLE `session_login_throttle` (
|
||||
`name` varchar(128) NOT NULL,
|
||||
`attempts` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`last_attempt` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`name`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `templates`;
|
||||
CREATE TABLE `templates` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(250) CHARACTER SET ascii NOT NULL,
|
||||
`fieldgroups_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`flags` int(11) NOT NULL DEFAULT '0',
|
||||
`cache_time` mediumint(9) NOT NULL DEFAULT '0',
|
||||
`data` text NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name` (`name`),
|
||||
KEY `fieldgroups_id` (`fieldgroups_id`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=43 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('2', 'admin', '2', '8', '0', '{\"useRoles\":1,\"parentTemplates\":[2],\"allowPageNum\":1,\"redirectLogin\":23,\"slashUrls\":1,\"noGlobal\":1,\"modified\":1406317841}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('3', 'user', '3', '8', '0', '{\"useRoles\":1,\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"pageClass\":\"User\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('4', 'role', '4', '8', '0', '{\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"pageClass\":\"Role\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('5', 'permission', '5', '8', '0', '{\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"guestSearchable\":1,\"pageClass\":\"Permission\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('1', 'home', '1', '0', '0', '{\"useRoles\":1,\"noParents\":1,\"slashUrls\":1,\"modified\":1409155727,\"roles\":[37]}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('29', 'basic-page', '83', '0', '0', '{\"slashUrls\":1,\"modified\":1409155715}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('26', 'search', '80', '0', '0', '{\"noChildren\":1,\"noParents\":1,\"allowPageNum\":1,\"slashUrls\":1,\"modified\":1409155785}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('34', 'sitemap', '88', '0', '0', '{\"noChildren\":1,\"noParents\":1,\"redirectLogin\":23,\"slashUrls\":1,\"modified\":1409155794}');
|
||||
|
||||
UPDATE pages SET created_users_id=41, modified_users_id=41, created=NOW(), modified=NOW();
|
||||
|
||||
--- /WireDatabaseBackup {"numTables":20,"numCreateTables":27,"numInserts":305,"numSeconds":0}
|
Before Width: | Height: | Size: 50 KiB |
@@ -1,89 +0,0 @@
|
||||
ABOUT /SITE/MODULES/
|
||||
====================
|
||||
This directory /site/modules/ is where you may install additional plugin modules.
|
||||
These modules are specific to your site only. There is also a corresponding
|
||||
/wire/modules/ directory, which contains ProcessWire's core modules (and best to
|
||||
leave those alone).
|
||||
|
||||
If safe for your hosting environment, you may wish to make this directory
|
||||
writable to PHP so that the installation of your modules can be managed from
|
||||
ProcessWire's admin. However, this is not necessarily safe in all shared hosting
|
||||
environments and is completely optional.
|
||||
|
||||
|
||||
Where to get modules?
|
||||
---------------------
|
||||
Visit the modules directory at: http://modules.processwire.com
|
||||
|
||||
|
||||
Installing modules from the ProcessWire admin
|
||||
---------------------------------------------
|
||||
If your /site/modules/ directory is writable, you can install modules from
|
||||
ProcessWire's admin directly from the Modules Directory, from a ZIP file or from
|
||||
a URL to a ZIP file. In your ProcessWire admin, see Modules > New for
|
||||
installation options.
|
||||
|
||||
|
||||
Installing modules from the file system
|
||||
---------------------------------------
|
||||
Each module (and any related files) should live in a directory of its own. The
|
||||
directory should generally carry the same name as the module. For instance, if
|
||||
you are installing a module named ProcessDatabaseBackups.module, then it should
|
||||
live in the directory /site/modules/ProcessDatabaseBackups/.
|
||||
|
||||
Once you have placed a new module in this directory, you need to let ProcessWire
|
||||
know about it. Login to the admin and click "Modules". Then click the "Check for
|
||||
new modules" button. It will find your new module(s). Click the "Install" button
|
||||
next to any new modules that you want to install.
|
||||
|
||||
|
||||
Removing modules
|
||||
----------------
|
||||
The first step in removing a module is to uninstall it from ProcessWire (if it
|
||||
isn't already). You do this by going to the "Modules" page, and "Site" tab in
|
||||
your ProcessWire admin. Click the "Uninstall" button next to the module you
|
||||
want to remove.
|
||||
|
||||
After the module is uninstalled, you may remove the module files. If your
|
||||
modules file system is writable to ProcessWire, it will give you a "Delete"
|
||||
button next to the module in your "Modules" admin page. You may click that to
|
||||
remove the module files.
|
||||
|
||||
If your file system is not writable, you may remove the module files manually
|
||||
from the file system (via SFTP or whatever tool you are using to manage your
|
||||
files on the server).
|
||||
|
||||
|
||||
Interested in learning how to make your own modules?
|
||||
----------------------------------------------------
|
||||
We've created two "Hello World" modules as examples for those interested in
|
||||
learning module development:
|
||||
|
||||
- Helloworld.module demonstrates the basics of modules and hooks.
|
||||
http://modules.processwire.com/modules/helloworld/
|
||||
|
||||
- ProcessHello.module demonstrates the basics of how to create a Process
|
||||
module. Process modules are those that create applications in the admin.
|
||||
http://modules.processwire.com/modules/process-hello/
|
||||
|
||||
There is a module development forum located at:
|
||||
https://processwire.com/talk/forum/19-moduleplugin-development/
|
||||
|
||||
For a tutorial on how to create modules, see:
|
||||
http://wiki.processwire.com/index.php/Module_Creation
|
||||
|
||||
|
||||
Additional resources
|
||||
--------------------
|
||||
|
||||
To find and download new modules, see the modules directory at:
|
||||
http://modules.processwire.com/
|
||||
|
||||
For more information about modules, see the documentation at:
|
||||
http://processwire.com/api/modules/
|
||||
|
||||
For discussion and support of modules, see:
|
||||
http://processwire.com/talk/forum/4-modulesplugins/
|
||||
|
||||
|
||||
|
@@ -1,221 +0,0 @@
|
||||
Welcome to the Default/Basic Site Profile (Beginner Edition)
|
||||
============================================================
|
||||
|
||||
This is a plain text document. If you are currently online with
|
||||
internet access, you will find it much nicer to read an HTML
|
||||
formatted version of this document located at:
|
||||
|
||||
http://processwire.com/docs/tutorials/default-site-profile/
|
||||
|
||||
Are you already somewhat familiar with ProcessWire and/or PHP? You
|
||||
might also want to look into the Intermediate Edition of this profile.
|
||||
|
||||
Need multi-language support? The multi-language version of this
|
||||
default site profile is a good place to start.
|
||||
|
||||
Both the intermediate and multi-language versions of this site
|
||||
profile are available as installation options when installing
|
||||
ProcessWire.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
||||
Just getting started with ProcessWire and aren't totally clear on what
|
||||
template files are? The good news is that template files aren't anything
|
||||
other than regular HTML or PHP files, and you can use them however you
|
||||
want!
|
||||
|
||||
If you know enough to create an HTML or PHP document, then you already
|
||||
know how to use ProcessWire template files. The only difference is that
|
||||
ProcessWire provides your template files with certain variables that
|
||||
you may choose to use, or not use. Most notable is the $page variable,
|
||||
which contains all the fields of text or other information contained
|
||||
by the page being viewed.
|
||||
|
||||
For instance, $page->title contains the text contained in the Title
|
||||
field of the current page, and $page->body contains the text for the
|
||||
Body field of the current page. You can choose to output those wherever
|
||||
you want. A really simple template file might look like a regular HTML
|
||||
document except for where you want to output the dynamic portions (like
|
||||
title and body). Here's an example:
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title><?= $page->title ?></title>
|
||||
</head>
|
||||
<body>
|
||||
<h1><?= $page->title ?></h1>
|
||||
<?= $page->body ?>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
That's all that a template file is. Now when we're building something
|
||||
for real, we like to save ourselves as much work as possible and avoid
|
||||
writing the same HTML markup in multiple places. In order to do that
|
||||
we'll usually isolate the repetitive markup into separate files or
|
||||
functions so that we don't have to write it more than once. That's
|
||||
not required of course, but it's a good strategy to save you time and
|
||||
make it easier to maintain your site further down the road.
|
||||
|
||||
Template file strategies
|
||||
========================
|
||||
|
||||
The two most popular strategies for template files are:
|
||||
|
||||
1. Direct Output is the simplest strategy and the one used by the
|
||||
beginner edition of this site profile. While it doesn't scale as
|
||||
well as other strategies, it is a very good point to start from.
|
||||
If you've ever worked with WordPress templates, chances are you
|
||||
already know how Direct Output works. Read more about the Direct
|
||||
Output strategy:
|
||||
http://processwire.com/to/direct-output/
|
||||
|
||||
2. Delayed Output is the strategy used by the intermediate edition
|
||||
of this site profile. It is also quite simple but involves
|
||||
populating content to placeholder variables rather than outputting
|
||||
directly. As a result it may take a few more seconds to understand
|
||||
than direct output, but the result is more scalable and
|
||||
maintainable. Read more about Delayed Output here:
|
||||
http://processwire.com/to/delayed-output/
|
||||
|
||||
|
||||
How this Default Site Profile works (Beginner Edition)
|
||||
======================================================
|
||||
|
||||
This Default Site Profile (beginner edition) uses the Direct Output
|
||||
strategy. When a page is viewed on your site, here's what happens:
|
||||
|
||||
1. The initialization file is loaded (_init.php).
|
||||
Here we use it just to define a shared function for navigation.
|
||||
|
||||
2. The template file is loaded (i.e. basic-page.php or another).
|
||||
It outputs the content for the page.
|
||||
|
||||
|
||||
Below are more details on exactly what takes place and in these two
|
||||
steps outlined above:
|
||||
|
||||
1. The initialization file is loaded (_init.php)
|
||||
---------------------------------------------
|
||||
This step is completely optional with direct output, but we find
|
||||
it handy to use this file to define our shared functions (if any).
|
||||
In the case of this profile, we define a single renderNavTree()
|
||||
function. It is useful to have this as a re-usable function since
|
||||
we use it to generate markup for more than one place (specifically,
|
||||
for sidebar navigation and for the sitemap). However, if you have
|
||||
any confusion about this, ignore it for now and focus on #2 below
|
||||
as an initialization file is completely optional.
|
||||
|
||||
|
||||
2. The template file is loaded (i.e. basic-page.php or another)
|
||||
------------------------------------------------------
|
||||
Next, ProcessWire loads the template file used by the page being
|
||||
viewed. For example, most pages here use basic-page.php.
|
||||
|
||||
The first thing that our template file does is include the HTML
|
||||
header markup, which we've put in a file called _head.php:
|
||||
|
||||
include("./_head.php");
|
||||
|
||||
The above is simply a PHP function that says "include this file".
|
||||
The leading "./" just means "from the current directory". We also
|
||||
have an underscore "_" prepended to our filename here as a way
|
||||
to identify this as an include file rather than a regular template
|
||||
file. While completely optional, the underscore does also make
|
||||
ProcessWire ignore it when looking for new template files, so you
|
||||
may find it handy to use this convention in your own include files.
|
||||
An alternate would be to use .inc as an extension rather than .php.
|
||||
|
||||
Have a look in the _head.php file now so you can see what's there.
|
||||
It is basically half of an HTML file. Now have a look in _foot.php,
|
||||
that's the other half. Notice that all the template files that
|
||||
include _head.php at the beginning also include _foot.php at the
|
||||
ending. This is to ensure there is a complete HTML document being
|
||||
output.
|
||||
|
||||
To conclude, our template files (using direct output) are focused
|
||||
on outputting what goes in-between the _head.php and _foot.php.
|
||||
In our case, this is always a <div id='content'>...</div> and
|
||||
optionally a <div id='sidebar'>...</div>. But for your own
|
||||
template files you might choose to output something completely
|
||||
different.
|
||||
|
||||
Files that make up this profile
|
||||
===============================
|
||||
|
||||
Here is a summary of what is in each of the files in this directory.
|
||||
We also recommend reviewing them in this order:
|
||||
|
||||
- _head.php
|
||||
HTML header (top half of HTML document)
|
||||
|
||||
- _foot.php
|
||||
HTML footer (bottom half of HTML document)
|
||||
|
||||
- basic-page.php
|
||||
Template file outputting #content and #sidebar columns. This
|
||||
template file is used by most pages in this small site.
|
||||
|
||||
- home.php
|
||||
Template file used by homepage. Note that since the homepage uses
|
||||
nearly the same layout as the other pages in the site, this
|
||||
template file simply includes basic-page.php. No need two have
|
||||
more than one template file with the same contents.
|
||||
|
||||
- sitemap.php
|
||||
Outputs a sitemap of the entire site.
|
||||
|
||||
- search.php
|
||||
Outputs results of site search queries.
|
||||
|
||||
- _init.php
|
||||
Initialization file that we use to define a shared function for
|
||||
generating navigation markup.
|
||||
|
||||
|
||||
More template file resources
|
||||
============================
|
||||
|
||||
- How do template files work?
|
||||
https://processwire.com/api/templates/
|
||||
Official documentation on template files.
|
||||
|
||||
- API variables
|
||||
https://processwire.com/api/variables/
|
||||
We mentioned $page above, but here are all the other API variables
|
||||
your template file can make use of.
|
||||
|
||||
- API cheatsheet
|
||||
http://cheatsheet.processwire.com/
|
||||
Once you've got the basics down, this cheatsheet is invaluable in
|
||||
describing all the properties and functions available to your
|
||||
template files.
|
||||
|
||||
|
||||
Tutorials that help with template files
|
||||
=======================================
|
||||
|
||||
- Hello Worlds Tutoral, by Ryan Cramer
|
||||
http://processwire.com/docs/tutorials/hello-worlds/
|
||||
The Hello Worlds tutorial gently introduces ProcessWire and template
|
||||
files, starting from a blank slate.
|
||||
|
||||
- "But what if I don't know how to code?", by Joss Sanglier
|
||||
http://processwire.com/docs/tutorials/but-what-if-i-dont-know-how-to-code/
|
||||
This particular series of tutorials will not only introduce you to
|
||||
ProcessWire, but step by step, will give you those small bits of coding
|
||||
knowledge that will get you going and open up this amazing world of a
|
||||
Content Management Framework.
|
||||
|
||||
- Installing a CSS Framework, by Joss Sanglier
|
||||
http://processwire.com/docs/tutorials/installing-a-css-framework/
|
||||
A quick demonstration about how easy it is to use one of the many CSS
|
||||
frameworks available to designers.
|
||||
|
||||
- How to structure your template files, by Ryan Cramer
|
||||
http://processwire.com/docs/tutorials/how-to-structure-your-template-files/
|
||||
This tutorial contrasts and compares the direct output and delayed
|
||||
output strategies and more. It is a very good introduction to using
|
||||
ProcessWire template files.
|
||||
|
||||
|
@@ -1,22 +0,0 @@
|
||||
|
||||
|
||||
</main>
|
||||
|
||||
<!-- footer -->
|
||||
<footer id='footer' role="contentinfo">
|
||||
<p>
|
||||
Powered by <a href='http://processwire.com'>ProcessWire CMS</a> /
|
||||
<?php
|
||||
if($user->isLoggedin()) {
|
||||
// if user is logged in, show a logout link
|
||||
echo "<a href='{$config->urls->admin}login/logout/'>Logout ($user->name)</a>";
|
||||
} else {
|
||||
// if user not logged in, show a login link
|
||||
echo "<a href='{$config->urls->admin}'>Admin Login</a>";
|
||||
}
|
||||
?>
|
||||
</p>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -1,99 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Shared functions used by the beginner profile
|
||||
*
|
||||
* This file is included by the _init.php file, and is here just as an example.
|
||||
* You could place these functions in the _init.php file if you prefer, but keeping
|
||||
* them in this separate file is a better practice.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Given a group of pages, render a simple <ul> navigation
|
||||
*
|
||||
* This is here to demonstrate an example of a simple shared function.
|
||||
* Usage is completely optional.
|
||||
*
|
||||
* @param PageArray $items
|
||||
*
|
||||
*/
|
||||
function renderNav(PageArray $items) {
|
||||
|
||||
if(!$items->count()) return;
|
||||
|
||||
echo "<ul class='nav' role='navigation'>";
|
||||
|
||||
// cycle through all the items
|
||||
foreach($items as $item) {
|
||||
|
||||
// render markup for each navigation item as an <li>
|
||||
if($item->id == wire('page')->id) {
|
||||
// if current item is the same as the page being viewed, add a "current" class to it
|
||||
echo "<li class='current' aria-current='true'>";
|
||||
} else {
|
||||
// otherwise just a regular list item
|
||||
echo "<li>";
|
||||
}
|
||||
|
||||
// markup for the link
|
||||
echo "<a href='$item->url'>$item->title</a> ";
|
||||
|
||||
// if the item has summary text, include that too
|
||||
if($item->summary) echo "<div class='summary'>$item->summary</div>";
|
||||
|
||||
// close the list item
|
||||
echo "</li>";
|
||||
}
|
||||
|
||||
echo "</ul>";
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Given a group of pages render a tree of navigation
|
||||
*
|
||||
* @param Page|PageArray $items Page to start the navigation tree from or pages to render
|
||||
* @param int $maxDepth How many levels of navigation below current should it go?
|
||||
*
|
||||
*/
|
||||
function renderNavTree($items, $maxDepth = 3) {
|
||||
|
||||
// if we've been given just one item, convert it to an array of items
|
||||
if($items instanceof Page) $items = array($items);
|
||||
|
||||
// if there aren't any items to output, exit now
|
||||
if(!count($items)) return;
|
||||
|
||||
// $out is where we store the markup we are creating in this function
|
||||
// start our <ul> markup
|
||||
echo "<ul class='nav nav-tree' role='navigation'>";
|
||||
|
||||
// cycle through all the items
|
||||
foreach($items as $item) {
|
||||
|
||||
// markup for the list item...
|
||||
// if current item is the same as the page being viewed, add a "current" class and
|
||||
// visually hidden text for screen readers to it
|
||||
if($item->id == wire('page')->id) {
|
||||
echo "<li class='current' aria-current='true'><span class='visually-hidden'>Current page: </span>";
|
||||
} else {
|
||||
echo "<li>";
|
||||
}
|
||||
|
||||
// markup for the link
|
||||
echo "<a href='$item->url'>$item->title</a>";
|
||||
|
||||
// if the item has children and we're allowed to output tree navigation (maxDepth)
|
||||
// then call this same function again for the item's children
|
||||
if($item->hasChildren() && $maxDepth) {
|
||||
renderNavTree($item->children, $maxDepth-1);
|
||||
}
|
||||
|
||||
// close the list item
|
||||
echo "</li>";
|
||||
}
|
||||
|
||||
// end our <ul> markup
|
||||
echo "</ul>";
|
||||
}
|
@@ -1,61 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title><?php echo $page->title; ?></title>
|
||||
<meta name="description" content="<?php echo $page->summary; ?>" />
|
||||
<link href='//fonts.googleapis.com/css?family=Lusitana:400,700|Quattrocento:400,700' rel='stylesheet' type='text/css' />
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/main.css" />
|
||||
</head>
|
||||
<body class='has-sidebar'>
|
||||
|
||||
<!-- top navigation -->
|
||||
<ul class='topnav' role='navigation'><?php
|
||||
|
||||
// top navigation consists of homepage and its visible children
|
||||
$homepage = $pages->get('/');
|
||||
$children = $homepage->children();
|
||||
|
||||
// make 'home' the first item in the navigation
|
||||
$children->prepend($homepage);
|
||||
|
||||
// render an <li> for each top navigation item
|
||||
foreach($children as $child) {
|
||||
if($child->id == $page->rootParent->id) {
|
||||
// this $child page is currently being viewed (or one of it's children/descendents)
|
||||
// so we highlight it as the current page in the navigation
|
||||
echo "<li class='current' aria-current='true'><span class='visually-hidden'>Current page: </span><a href='$child->url'>$child->title</a></li>";
|
||||
} else {
|
||||
echo "<li><a href='$child->url'>$child->title</a></li>";
|
||||
}
|
||||
}
|
||||
|
||||
// output an "Edit" link if this page happens to be editable by the current user
|
||||
if($page->editable()) {
|
||||
echo "<li class='edit'><a href='$page->editUrl'>Edit</a></li>";
|
||||
}
|
||||
|
||||
?></ul>
|
||||
|
||||
<!-- search form -->
|
||||
<form class='search' action='<?php echo $pages->get('template=search')->url; ?>' method='get'>
|
||||
<label for='search' class='visually-hidden'>Search:</label>
|
||||
<input type='text' name='q' id='search' placeholder='Search' value='' />
|
||||
<button type='submit' name='submit' class='visually-hidden'>Search</button>
|
||||
</form>
|
||||
|
||||
<!-- breadcrumbs -->
|
||||
<div class='breadcrumbs' role='navigation' aria-label='You are here:'><?php
|
||||
|
||||
// breadcrumbs are the current page's parents
|
||||
foreach($page->parents() as $item) {
|
||||
echo "<span><a href='$item->url'>$item->title</a></span> ";
|
||||
}
|
||||
// optionally output the current page as the last item
|
||||
echo "<span>$page->title</span> ";
|
||||
|
||||
?></div>
|
||||
|
||||
<main id='main'>
|
||||
|
@@ -1,15 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Initialization file for template files
|
||||
*
|
||||
* This file is automatically included as a result of $config->prependTemplateFile
|
||||
* option specified in your /site/config.php.
|
||||
*
|
||||
* You can initialize anything you want to here. In the case of this beginner profile,
|
||||
* we are using it just to include another file with shared functions.
|
||||
*
|
||||
*/
|
||||
|
||||
include_once("./_func.php"); // include our shared functions
|
||||
|
@@ -1,15 +0,0 @@
|
||||
<?php namespace ProcessWire;
|
||||
|
||||
/**
|
||||
* Admin template just loads the admin application controller,
|
||||
* and admin is just an application built on top of ProcessWire.
|
||||
*
|
||||
* This demonstrates how you can use ProcessWire as a front-end
|
||||
* to another application.
|
||||
*
|
||||
* Feel free to hook admin-specific functionality from this file,
|
||||
* but remember to leave the require() statement below at the end.
|
||||
*
|
||||
*/
|
||||
|
||||
require($config->paths->adminTemplates . 'controller.php');
|
@@ -1,45 +0,0 @@
|
||||
<?php
|
||||
|
||||
include('./_head.php'); // include header markup ?>
|
||||
|
||||
<div id='content'><?php
|
||||
|
||||
// output 'headline' if available, otherwise 'title'
|
||||
echo "<h1>" . $page->get('headline|title') . "</h1>";
|
||||
|
||||
// output bodycopy
|
||||
echo $page->body;
|
||||
|
||||
// render navigation to child pages
|
||||
renderNav($page->children);
|
||||
|
||||
// TIP: Notice that this <div id='content'> section is
|
||||
// identical between home.php and basic-page.php. You may
|
||||
// want to move this to a separate file, like _content.php
|
||||
// and then include('./_content.php'); here instead, on both
|
||||
// the home.php and basic-page.php template files. Then when
|
||||
// you make yet more templates that need the same thing, you
|
||||
// can simply include() it from them.
|
||||
|
||||
?></div><!-- end content -->
|
||||
|
||||
<aside id='sidebar'><?php
|
||||
|
||||
// rootParent is the parent page closest to the homepage
|
||||
// you can think of this as the "section" that the user is in
|
||||
// so we'll assign it to a $section variable for clarity
|
||||
$section = $page->rootParent;
|
||||
|
||||
// if there's more than 1 page in this section...
|
||||
if($section->hasChildren > 1) {
|
||||
// output sidebar navigation
|
||||
// see _init.php for the renderNavTree function
|
||||
renderNavTree($section);
|
||||
}
|
||||
|
||||
// output sidebar text if the page has it
|
||||
echo $page->sidebar;
|
||||
|
||||
?></aside><!-- end sidebar -->
|
||||
|
||||
<?php include('./_foot.php'); // include footer markup ?>
|
@@ -1,11 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>500 Internal Server Error</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Internal Server Error</h1>
|
||||
<p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p>
|
||||
<p>{message}</p>
|
||||
</body>
|
||||
</html>
|
@@ -1,21 +0,0 @@
|
||||
When a fatal error occurs, ProcessWire displays the message:
|
||||
|
||||
"Unable to complete this request due to an error."
|
||||
|
||||
The message is intentionally vague for security purposes.
|
||||
Details will be logged to /site/assets/logs/errors.txt.
|
||||
|
||||
When present in this directory, the file 500.html will be
|
||||
displayed instead of the generic error message above. Feel
|
||||
free to modify this file to show whatever you would like.
|
||||
Please note the following:
|
||||
|
||||
* 500.html is plain HTML and has no PHP or API access.
|
||||
|
||||
* You may enter the tag {message} and ProcessWire will
|
||||
replace this with additional details when applicable.
|
||||
When not applicable, it will make it blank.
|
||||
|
||||
* If you are logged in as an admin, ProcessWire will
|
||||
give you a detailed error message rather than 500.html.
|
||||
|
@@ -1,39 +0,0 @@
|
||||
<?php
|
||||
|
||||
include('./_head.php'); // include header markup ?>
|
||||
|
||||
<div id='content'><?php
|
||||
|
||||
// output 'headline' if available, otherwise 'title'
|
||||
echo "<h1>" . $page->get('headline|title') . "</h1>";
|
||||
|
||||
// output bodycopy
|
||||
echo $page->body;
|
||||
|
||||
// render navigation to child pages
|
||||
renderNav($page->children);
|
||||
|
||||
?></div><!-- end content -->
|
||||
|
||||
<div id='sidebar'><?php
|
||||
|
||||
if(count($page->images)) {
|
||||
|
||||
// if the page has images on it, grab one of them randomly...
|
||||
$image = $page->images->getRandom();
|
||||
|
||||
// resize it to 400 pixels wide
|
||||
$image = $image->width(400);
|
||||
|
||||
// output the image at the top of the sidebar...
|
||||
echo "<img src='$image->url' alt='$image->description' />";
|
||||
}
|
||||
|
||||
// output sidebar text if the page has it
|
||||
echo $page->sidebar;
|
||||
|
||||
?></div><!-- end sidebar -->
|
||||
|
||||
<?php include('./_foot.php'); // include footer markup ?>
|
||||
|
||||
|
@@ -1,3 +0,0 @@
|
||||
// Well hello there. Looks like we don't have any Javascript.
|
||||
// Maybe you could help a friend out and put some in here?
|
||||
// Or at least, when ready, this might be a good place for it.
|
@@ -1,69 +0,0 @@
|
||||
<?php
|
||||
|
||||
include("./_head.php"); ?>
|
||||
|
||||
<div id='content'>
|
||||
|
||||
<?php
|
||||
|
||||
// search.php template file
|
||||
// See README.txt for more information.
|
||||
|
||||
// look for a GET variable named 'q' and sanitize it
|
||||
$q = $sanitizer->text($input->get->q);
|
||||
|
||||
// did $q have anything in it?
|
||||
if($q) {
|
||||
|
||||
// Sanitize for placement within a selector string. This is important for any
|
||||
// values that you plan to bundle in a selector string like we are doing here.
|
||||
$q = $sanitizer->selectorValue($q);
|
||||
|
||||
// Search the title and body fields for our query text.
|
||||
// Limit the results to 50 pages.
|
||||
$selector = "title|body~=$q, limit=50";
|
||||
|
||||
// If user has access to admin pages, lets exclude them from the search results.
|
||||
// Note that 2 is the ID of the admin page, so this excludes all results that have
|
||||
// that page as one of the parents/ancestors. This isn't necessary if the user
|
||||
// doesn't have access to view admin pages. So it's not technically necessary to
|
||||
// have this here, but we thought it might be a good way to introduce has_parent.
|
||||
if($user->isLoggedin()) $selector .= ", has_parent!=2";
|
||||
|
||||
// Find pages that match the selector
|
||||
$matches = $pages->find($selector);
|
||||
|
||||
// did we find any matches? ...
|
||||
if($matches->count) {
|
||||
|
||||
// we found matches
|
||||
echo "<h2>Found $matches->count page(s) matching your query:</h2>";
|
||||
|
||||
// output navigation for them (see TIP below)
|
||||
echo "<ul class='nav'>";
|
||||
|
||||
foreach($matches as $match) {
|
||||
echo "<li><a href='$match->url'>$match->title</a>";
|
||||
echo "<div class='summary'>$match->summary</div></li>";
|
||||
}
|
||||
|
||||
echo "</ul>";
|
||||
|
||||
// TIP: you could replace everything from the <ul class='nav'> above
|
||||
// all the way to here, with just this: renderNav($matches);
|
||||
|
||||
} else {
|
||||
// we didn't find any
|
||||
echo "<h2>Sorry, no results were found.</h2>";
|
||||
}
|
||||
|
||||
} else {
|
||||
// no search terms provided
|
||||
echo "<h2>Please enter a search term in the search box (upper right corner)</h2>";
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
</div><!-- end content -->
|
||||
|
||||
<?php include("./_foot.php"); ?>
|
@@ -1,17 +0,0 @@
|
||||
<?php
|
||||
|
||||
include("./_head.php"); ?>
|
||||
|
||||
<div id='content'>
|
||||
|
||||
<?php
|
||||
|
||||
$maxDepth = 4;
|
||||
renderNavTree($pages->get('/'), $maxDepth);
|
||||
// see the _init.php for the renderNavTree function
|
||||
|
||||
?>
|
||||
|
||||
</div>
|
||||
|
||||
<?php include("./_foot.php"); ?>
|
@@ -1,331 +0,0 @@
|
||||
/**
|
||||
* main.css
|
||||
*
|
||||
* 1. General HTML tags
|
||||
* 2. Masthead area
|
||||
* 3. Main content and sidebar
|
||||
* 4. Footer
|
||||
* 5. Media queries for responsive layout
|
||||
* 6. Accessibility helpers
|
||||
*
|
||||
*/
|
||||
|
||||
/*********************************************************************
|
||||
* 1. General HTML tags
|
||||
*
|
||||
*/
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
padding: 5%;
|
||||
max-width: 1600px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
body, td, input[type=text], textarea {
|
||||
font-family: 'Quattrocento', serif;
|
||||
font-size: 105%;
|
||||
line-height: 1.8em;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
h3 {
|
||||
border-top: 1px solid #eee;
|
||||
padding-top: 1em;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #333;
|
||||
text-decoration: none;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
a:hover,
|
||||
.nav a:hover {
|
||||
color: #000;
|
||||
border-color: #aaa;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin-left: 0;
|
||||
padding-left: 1.5em;
|
||||
padding-right: 2em;
|
||||
border-left: 4px solid #ddd;
|
||||
font-style: italic;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
pre, code {
|
||||
background: #eee;
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
|
||||
pre {
|
||||
font-size: 14px;
|
||||
line-height: 1.4em;
|
||||
padding: 1em;
|
||||
border-left: 4px solid #ddd;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* 2. Masthead area
|
||||
*
|
||||
*/
|
||||
|
||||
.topnav, .topnav li {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.topnav li {
|
||||
float: left;
|
||||
margin-right: 1em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
.topnav a {
|
||||
padding: 0.25em 0.5em;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
background: #eee;
|
||||
color: #333;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
.topnav a:hover {
|
||||
background: #ddd;
|
||||
border-color: #ddd;
|
||||
}
|
||||
.topnav li.current a {
|
||||
background: #ccc;
|
||||
border-color: #ccc;
|
||||
}
|
||||
.topnav li.edit a {
|
||||
background: none;
|
||||
}
|
||||
|
||||
|
||||
form.search {
|
||||
float: right;
|
||||
margin: 0;
|
||||
width: 30%;
|
||||
}
|
||||
form.search input {
|
||||
margin: 0;
|
||||
padding: 0.25em 0.5em;
|
||||
border: 1px solid #ccc;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.breadcrumbs {
|
||||
clear: both;
|
||||
padding-top: 1em;
|
||||
}
|
||||
.breadcrumbs span:after {
|
||||
content: ">";
|
||||
color: #999;
|
||||
padding-left: 0.5em;
|
||||
padding-right: 0.25em;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* 3. Main content and sidebar
|
||||
*
|
||||
*/
|
||||
|
||||
#main {
|
||||
border-top: 1px solid #eee;
|
||||
padding-top: 1em;
|
||||
margin-top: 1em;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#content {
|
||||
width: 65%;
|
||||
float: left;
|
||||
padding-bottom: 2em;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
width: 35%;
|
||||
padding-left: 5%;
|
||||
float: left;
|
||||
padding-bottom: 2em;
|
||||
}
|
||||
|
||||
.nav {
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
list-style: none;
|
||||
}
|
||||
.nav .nav {
|
||||
padding-left: 1.5em;
|
||||
list-style: disc;
|
||||
}
|
||||
.nav li {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
.nav-tree li {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.nav a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.nav-tree li a {
|
||||
color: #777;
|
||||
}
|
||||
|
||||
.nav .current > a {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.align_left {
|
||||
/* for images placed in rich text editor */
|
||||
float: left;
|
||||
margin: 0 1em 0.5em 0;
|
||||
position: relative;
|
||||
top: 0.5em;
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
.align_right {
|
||||
/* for images placed in rich text editor */
|
||||
float: right;
|
||||
margin: 0 0 0.5em 1em;
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
.align_center {
|
||||
/* for images placed in rich text editor */
|
||||
display: block;
|
||||
margin: 1em auto;
|
||||
position: relative;
|
||||
top: 0.5em;
|
||||
}
|
||||
|
||||
figure {
|
||||
display: table;
|
||||
width: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
figure img {
|
||||
display: table-row;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
figure figcaption {
|
||||
display: table-row;
|
||||
font-size: smaller;
|
||||
color: #777;
|
||||
line-height: 1.4em;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* 4. Footer
|
||||
*
|
||||
*/
|
||||
|
||||
#footer {
|
||||
clear: both;
|
||||
border-top: 1px solid #eee;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* 5. Media queries for responsive layout
|
||||
*
|
||||
*/
|
||||
|
||||
@media only screen and (max-width: 767px) {
|
||||
/* mobile layout */
|
||||
|
||||
body, td, textarea {
|
||||
font-size: 100%;
|
||||
}
|
||||
#content,
|
||||
#sidebar {
|
||||
float: none;
|
||||
width: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
form.search {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
#content {
|
||||
width: 100%;
|
||||
}
|
||||
#sidebar {
|
||||
border-top: 1px solid #eee;
|
||||
padding-top: 1em;
|
||||
}
|
||||
.align_left, .align_right, .align_center {
|
||||
display: block;
|
||||
float: none;
|
||||
margin: 1em auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 1200px) {
|
||||
/* extra-wide desktop layout */
|
||||
|
||||
body, td, textarea {
|
||||
font-size: 115%;
|
||||
}
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* 6. Accessibility helpers
|
||||
*
|
||||
*/
|
||||
|
||||
/* Hide visually, but remain approachable for screenreader */
|
||||
|
||||
.visually-hidden {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
clip: rect(1px, 1px, 1px, 1px);
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/* Show bypass link on hover */
|
||||
|
||||
.element-focusable:focus {
|
||||
clip: auto;
|
||||
overflow: visible;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* Sample styling for bypass link */
|
||||
|
||||
.bypass-to-main:focus {
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
background: #333;
|
||||
color: #fff;
|
||||
}
|
20
site-blank/classes/HomePage.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php namespace ProcessWire;
|
||||
|
||||
/**
|
||||
* Example custom page class for pages using template “home”
|
||||
*
|
||||
* Feel free to delete this file if you do not want it. This is here as a
|
||||
* placeholder to ensure the /site/classes/ directory exists.
|
||||
*
|
||||
* When this file/class is present, page using template “home” will use this
|
||||
* class “HomePage” rather than class “Page”. You can do the same for any
|
||||
* other templates. For example, template “basic-page” would have a class
|
||||
* named “BasicPagePage” and template “admin” would have “AdminPage”, etc.
|
||||
*
|
||||
* Custom page classes must extend class “Page”, or one derived from it.
|
||||
*
|
||||
* @property string $title
|
||||
*
|
||||
*/
|
||||
class HomePage extends Page {
|
||||
}
|
@@ -17,31 +17,33 @@
|
||||
* This file is licensed under the MIT license
|
||||
* https://processwire.com/about/license/mit/
|
||||
*
|
||||
* ProcessWire 3.x, Copyright 2019 by Ryan Cramer
|
||||
* ProcessWire 3.x, Copyright 2023 by Ryan Cramer
|
||||
* https://processwire.com
|
||||
*
|
||||
*/
|
||||
|
||||
if(!defined("PROCESSWIRE")) die();
|
||||
|
||||
/*** SITE CONFIG *************************************************************************/
|
||||
|
||||
/** @var Config $config */
|
||||
|
||||
/**
|
||||
* Allow core API variables to also be accessed as functions?
|
||||
*
|
||||
* Recommended. This enables API varibles like $pages to also be accessed as pages(),
|
||||
* as an example. And so on for most other core variables.
|
||||
*
|
||||
* Benefits are better type hinting, always in scope, and potentially shorter API calls.
|
||||
* See the file /wire/core/FunctionsAPI.php for details on these functions.
|
||||
*
|
||||
* @var bool
|
||||
*
|
||||
*/
|
||||
/*** SITE CONFIG *************************************************************************/
|
||||
|
||||
// Let core API vars also be functions? So you can use $page or page(), for example.
|
||||
$config->useFunctionsAPI = true;
|
||||
|
||||
// Use custom Page classes in /site/classes/ ? (i.e. template "home" => HomePage.php)
|
||||
$config->usePageClasses = true;
|
||||
|
||||
/*** INSTALLER CONFIG ********************************************************************/
|
||||
// Use Markup Regions? (https://processwire.com/docs/front-end/output/markup-regions/)
|
||||
$config->useMarkupRegions = true;
|
||||
|
||||
// Prepend this file in /site/templates/ to any rendered template files
|
||||
$config->prependTemplateFile = '_init.php';
|
||||
|
||||
// Append this file in /site/templates/ to any rendered template files
|
||||
$config->appendTemplateFile = '_main.php';
|
||||
|
||||
// Allow template files to be compiled for backwards compatibility?
|
||||
$config->templateCompile = false;
|
||||
|
||||
/*** INSTALLER CONFIG ********************************************************************/
|
@@ -2,6 +2,8 @@
|
||||
|
||||
if(!defined("PROCESSWIRE")) die();
|
||||
|
||||
/** @var ProcessWire $wire */
|
||||
|
||||
/**
|
||||
* ProcessWire Request Finished
|
||||
* ============================
|
@@ -2,6 +2,8 @@
|
||||
|
||||
if(!defined("PROCESSWIRE")) die();
|
||||
|
||||
/** @var ProcessWire $wire */
|
||||
|
||||
/**
|
||||
* ProcessWire Bootstrap Initialization
|
||||
* ====================================
|
||||
@@ -9,9 +11,9 @@ if(!defined("PROCESSWIRE")) die();
|
||||
* This occurs after all autoload modules have been initialized, but before the current page
|
||||
* has been determined. This is a good place to attach hooks. You may place whatever you'd
|
||||
* like in this file. For example:
|
||||
*
|
||||
*
|
||||
* $wire->addHookAfter('Page::render', function($event) {
|
||||
* $event->return = str_replace("</body>", "<p>Hello World</p></body>", $event->return);
|
||||
* });
|
||||
*
|
||||
*
|
||||
*/
|
@@ -1,6 +1,7 @@
|
||||
<?php if(!defined("PROCESSWIRE_INSTALL")) die();
|
||||
<?php namespace ProcessWire;
|
||||
if(!defined("PROCESSWIRE_INSTALL")) die();
|
||||
$info = array(
|
||||
'title' => "Blank",
|
||||
'summary' => "This profile includes only the bare minimum pages, fields and templates, giving you essentially a blank slate. ",
|
||||
'screenshot' => ""
|
||||
);
|
||||
);
|
||||
|
@@ -185,7 +185,6 @@ CREATE TABLE `modules` (
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=159 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('1', 'FieldtypeTextarea', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('2', 'FieldtypeNumber', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('3', 'FieldtypeText', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('4', 'FieldtypePage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('30', 'InputfieldForm', '0', '', NOW());
|
||||
@@ -207,7 +206,6 @@ INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('28', '
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('29', 'FieldtypeEmail', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('108', 'InputfieldURL', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('32', 'InputfieldSubmit', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('33', 'InputfieldWrapper', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('34', 'InputfieldText', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('35', 'InputfieldTextarea', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('36', 'InputfieldSelect', '0', '', NOW());
|
||||
@@ -218,7 +216,6 @@ INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('40', '
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('41', 'InputfieldName', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('43', 'InputfieldSelectMultiple', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('45', 'JqueryWireTabs', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('46', 'ProcessPage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('47', 'ProcessTemplate', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('48', 'ProcessField', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('50', 'ProcessModule', '0', '', NOW());
|
||||
@@ -267,7 +264,7 @@ INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('148',
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('149', 'InputfieldSelector', '2', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('150', 'ProcessPageLister', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('151', 'JqueryMagnific', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('155', 'InputfieldCKEditor', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('155', 'InputfieldTinyMCE', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('156', 'MarkupHTMLPurifier', '0', '', NOW());
|
||||
|
||||
DROP TABLE IF EXISTS `pages`;
|
||||
|
@@ -1,90 +1,4 @@
|
||||
ABOUT /SITE/MODULES/
|
||||
====================
|
||||
This directory /site/modules/ is where you may install additional plugin modules.
|
||||
These modules are specific to your site only. There is also a corresponding
|
||||
/wire/modules/ directory, which contains ProcessWire's core modules (and best to
|
||||
leave those alone).
|
||||
|
||||
If safe for your hosting environment, you may wish to make this directory
|
||||
writable to PHP so that the installation of your modules can be managed from
|
||||
ProcessWire's admin. However, this is not necessarily safe in all shared hosting
|
||||
environments and is completely optional.
|
||||
|
||||
|
||||
Where to get modules?
|
||||
---------------------
|
||||
Visit the modules directory at: http://modules.processwire.com
|
||||
|
||||
|
||||
Installing modules from the ProcessWire admin
|
||||
---------------------------------------------
|
||||
If your /site/modules/ directory is writable, you can install modules from
|
||||
ProcessWire's admin directly from the Modules Directory, from a ZIP file or from
|
||||
a URL to a ZIP file. In your ProcessWire admin, see Modules > New for
|
||||
installation options.
|
||||
|
||||
|
||||
Installing modules from the file system
|
||||
---------------------------------------
|
||||
Each module (and any related files) should live in a directory of its own. The
|
||||
directory should generally carry the same name as the module. For instance, if
|
||||
you are installing a module named ProcessDatabaseBackups.module, then it should
|
||||
live in the directory /site/modules/ProcessDatabaseBackups/.
|
||||
|
||||
Once you have placed a new module in this directory, you need to let ProcessWire
|
||||
know about it. Login to the admin and click "Modules". Then click the "Check for
|
||||
new modules" button. It will find your new module(s). Click the "Install" button
|
||||
next to any new modules that you want to install.
|
||||
|
||||
|
||||
Removing modules
|
||||
----------------
|
||||
The first step in removing a module is to uninstall it from ProcessWire (if it
|
||||
isn't already). You do this by going to the "Modules" page, and "Site" tab in
|
||||
your ProcessWire admin. Click the "Uninstall" button next to the module you
|
||||
want to remove.
|
||||
|
||||
After the module is uninstalled, you may remove the module files. If your
|
||||
modules file system is writable to ProcessWire, it will give you a "Delete"
|
||||
button next to the module in your "Modules" admin page. You may click that to
|
||||
remove the module files.
|
||||
|
||||
If your file system is not writable, you may remove the module files manually
|
||||
from the file system (via SFTP or whatever tool you are using to manage your
|
||||
files on the server).
|
||||
|
||||
|
||||
Interested in learning how to make your own modules?
|
||||
----------------------------------------------------
|
||||
We've created two "Hello World" modules as examples for those interested in
|
||||
learning module development:
|
||||
|
||||
- Helloworld.module demonstrates the basics of modules and hooks.
|
||||
http://modules.processwire.com/modules/helloworld/
|
||||
|
||||
- ProcessHello.module demonstrates the basics of how to create a Process
|
||||
module. Process modules are those that create applications in the admin.
|
||||
http://modules.processwire.com/modules/process-hello/
|
||||
|
||||
There is a module development forum located at:
|
||||
https://processwire.com/talk/forum/19-moduleplugin-development/
|
||||
|
||||
For a tutorial on how to create modules, see:
|
||||
http://wiki.processwire.com/index.php/Module_Creation
|
||||
|
||||
|
||||
Additional resources
|
||||
--------------------
|
||||
|
||||
To find and download new modules, see the modules directory at:
|
||||
http://modules.processwire.com/
|
||||
|
||||
For more information about modules, see the documentation at:
|
||||
http://processwire.com/api/modules/
|
||||
|
||||
For discussion and support of modules, see:
|
||||
http://processwire.com/talk/forum/4-modulesplugins/
|
||||
|
||||
|
||||
|
||||
This directory is for site-specific plugin modules.
|
||||
Please see the URL below for more information:
|
||||
|
||||
https://processwire.com/docs/modules/about-site-modules/
|
||||
|
@@ -2,12 +2,14 @@
|
||||
|
||||
if(!defined("PROCESSWIRE")) die();
|
||||
|
||||
/** @var ProcessWire $wire */
|
||||
|
||||
/**
|
||||
* ProcessWire Bootstrap API Ready
|
||||
* ProcessWire Bootstrap API Ready
|
||||
* ===============================
|
||||
* This ready.php file is called during ProcessWire bootstrap initialization process.
|
||||
* This occurs after the current page has been determined and the API is fully ready
|
||||
* to use, but before the current page has started rendering. This file receives a
|
||||
* This occurs after the current page has been determined and the API is fully ready
|
||||
* to use, but before the current page has started rendering. This file receives a
|
||||
* copy of all ProcessWire API variables.
|
||||
*
|
||||
*/
|
||||
*/
|
@@ -1 +0,0 @@
|
||||
This file is here to ensure Git adds the dir to the repo. You may delete this file.
|
6
site-blank/templates/_init.php
Normal file
@@ -0,0 +1,6 @@
|
||||
<?php namespace ProcessWire;
|
||||
|
||||
// Optional initialization file, called before rendering any template file.
|
||||
// This is defined by $config->prependTemplateFile in /site/config.php.
|
||||
// Use this to define shared variables, functions, classes, includes, etc.
|
||||
|
55
site-blank/templates/_main.php
Normal file
@@ -0,0 +1,55 @@
|
||||
<?php namespace ProcessWire;
|
||||
|
||||
// Optional main output file, called after rendering page’s template file.
|
||||
// This is defined by $config->appendTemplateFile in /site/config.php, and
|
||||
// is typically used to define and output markup common among most pages.
|
||||
//
|
||||
// When the Markup Regions feature is used, template files can prepend, append,
|
||||
// replace or delete any element defined here that has an "id" attribute.
|
||||
// https://processwire.com/docs/front-end/output/markup-regions/
|
||||
|
||||
/** @var Page $page */
|
||||
/** @var Pages $pages */
|
||||
/** @var Config $config */
|
||||
|
||||
$home = $pages->get('/'); /** @var HomePage $home */
|
||||
|
||||
?><!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head id="html-head">
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title><?php echo $page->title; ?></title>
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates; ?>styles/main.css" />
|
||||
<script src="<?php echo $config->urls->templates; ?>scripts/main.js"></script>
|
||||
</head>
|
||||
<body id="html-body">
|
||||
|
||||
<p id="topnav">
|
||||
<?php echo $home->and($home->children)->implode(" / ", "<a href='{url}'>{title}</a>"); ?>
|
||||
</p>
|
||||
|
||||
<hr />
|
||||
|
||||
<h1 id="headline">
|
||||
<?php if($page->parents->count()): // breadcrumbs ?>
|
||||
<?php echo $page->parents->implode(" > ", "<a href='{url}'>{title}</a>"); ?> >
|
||||
<?php endif; ?>
|
||||
<?php echo $page->title; // headline ?>
|
||||
</h1>
|
||||
|
||||
<div id="content">
|
||||
Default content
|
||||
</div>
|
||||
|
||||
<?php if($page->hasChildren): ?>
|
||||
<ul>
|
||||
<?php echo $page->children->each("<li><a href='{url}'>{title}</a></li>"); // subnav ?>
|
||||
</ul>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if($page->editable()): ?>
|
||||
<p><a href='<?php echo $page->editUrl(); ?>'>Edit this page</a></p>
|
||||
<?php endif; ?>
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -10,6 +10,9 @@
|
||||
* Feel free to hook admin-specific functionality from this file,
|
||||
* but remember to leave the require() statement below at the end.
|
||||
*
|
||||
* Note: this template file does not use the _init.php or _main.php
|
||||
*
|
||||
*/
|
||||
|
||||
require($config->paths->adminTemplates . 'controller.php');
|
||||
/** @var Config $config */
|
||||
require($config->paths->core . "admin.php");
|
||||
|
@@ -1,13 +1,11 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
<title><?php echo $page->title; ?></title>
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/main.css" />
|
||||
</head>
|
||||
<body>
|
||||
<h1><?php echo $page->title; ?></h1>
|
||||
<?php if($page->editable()) echo "<p><a href='$page->editURL'>Edit</a></p>"; ?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<?php namespace ProcessWire;
|
||||
|
||||
// Template file for pages using the “basic-page” template
|
||||
|
||||
?>
|
||||
|
||||
|
||||
<div id="content">
|
||||
Basic page content
|
||||
</div>
|
||||
|
||||
|
@@ -1,3 +1,10 @@
|
||||
<?php
|
||||
<?php namespace ProcessWire;
|
||||
|
||||
include("./basic-page.php");
|
||||
// Template file for “home” template used by the homepage
|
||||
|
||||
?>
|
||||
|
||||
<div id="content">
|
||||
Homepage content
|
||||
</div>
|
||||
|
||||
|
@@ -1 +1 @@
|
||||
// Blank
|
||||
// Example JS file
|
||||
|
@@ -1 +1 @@
|
||||
/* blank */
|
||||
/* Example CSS file */
|
||||
|
@@ -1,4 +0,0 @@
|
||||
<?php
|
||||
// Intentionally left blank to test that htaccess rewrite rules are working.
|
||||
// Accessing this file from http should produce a '403 forbidden' error,
|
||||
// since all PHP files are blocked under /assets/.
|
@@ -1,46 +0,0 @@
|
||||
<?php namespace ProcessWire;
|
||||
|
||||
/**
|
||||
* ProcessWire Configuration File
|
||||
*
|
||||
* Site-specific configuration for ProcessWire
|
||||
*
|
||||
* Please see the file /wire/config.php which contains all configuration options you may
|
||||
* specify here. Simply copy any of the configuration options from that file and paste
|
||||
* them into this file in order to modify them.
|
||||
*
|
||||
* SECURITY NOTICE
|
||||
* In non-dedicated environments, you should lock down the permissions of this file so
|
||||
* that it cannot be seen by other users on the system. For more information, please
|
||||
* see the config.php section at: https://processwire.com/docs/security/file-permissions/
|
||||
*
|
||||
* This file is licensed under the MIT license
|
||||
* https://processwire.com/about/license/mit/
|
||||
*
|
||||
* ProcessWire 3.x, Copyright 2019 by Ryan Cramer
|
||||
* https://processwire.com
|
||||
*
|
||||
*/
|
||||
|
||||
if(!defined("PROCESSWIRE")) die();
|
||||
|
||||
/*** SITE CONFIG *************************************************************************/
|
||||
|
||||
/** @var Config $config */
|
||||
|
||||
/**
|
||||
* Allow core API variables to also be accessed as functions?
|
||||
*
|
||||
* Recommended. This enables API varibles like $pages to also be accessed as pages(),
|
||||
* as an example. And so on for most other core variables.
|
||||
*
|
||||
* Benefits are better type hinting, always in scope, and potentially shorter API calls.
|
||||
* See the file /wire/core/FunctionsAPI.php for details on these functions.
|
||||
*
|
||||
* @var bool
|
||||
*
|
||||
*/
|
||||
$config->useFunctionsAPI = true;
|
||||
|
||||
|
||||
/*** INSTALLER CONFIG ********************************************************************/
|
Before Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 840 KiB |
Before Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 578 KiB |
Before Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 418 KiB |
Before Width: | Height: | Size: 8.3 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 392 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 583 KiB |
Before Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 346 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 217 KiB |
Before Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 237 KiB |
@@ -1 +0,0 @@
|
||||
This file is here to ensure Git adds the dir to the repo. You may delete this file.
|
@@ -1,6 +0,0 @@
|
||||
<?php if(!defined("PROCESSWIRE_INSTALL")) die();
|
||||
$info = array(
|
||||
'title' => "Classic",
|
||||
'summary' => "This was the default site profile from ProcessWire versions 2.0 through 2.4. While now a little older in appearance, it is a great starting point for learning about ProcessWire.",
|
||||
'screenshot' => "screenshot.jpg"
|
||||
);
|
@@ -1,538 +0,0 @@
|
||||
--- WireDatabaseBackup {"time":"2014-08-27 14:02:01","user":"","dbName":"pw2_tmp","description":"","tables":[],"excludeTables":["pages_drafts","pages_roles","permissions","roles","roles_permissions","users","users_roles","user","role","permission"],"excludeCreateTables":[],"excludeExportTables":["field_roles","field_permissions","field_email","field_pass","caches","session_login_throttle","page_path_history"]}
|
||||
|
||||
DROP TABLE IF EXISTS `caches`;
|
||||
CREATE TABLE `caches` (
|
||||
`name` varchar(128) NOT NULL,
|
||||
`data` mediumtext NOT NULL,
|
||||
`expires` datetime NOT NULL,
|
||||
PRIMARY KEY (`name`),
|
||||
KEY `expires` (`expires`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `field_body`;
|
||||
CREATE TABLE `field_body` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` mediumtext NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('27', '<h3>The page you were looking for is not found.</h3>\r\n<p>Please use our search engine or navigation above to find the page.</p>');
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1', '<h2>What is ProcessWire?</h2>\n\n<p>ProcessWire gives you full control over your fields, templates and markup. It provides a powerful template system that works the way you do. Not to mention, ProcessWire\'s API makes working with your content easy and enjoyable. <a href=\"http://processwire.com\">Learn more</a></p>\n\n<h2>Basic Site Profile</h2>\n\n<p>This is a basic starter site for you to use in developing your own site. There are a few pages here to serve as examples, but this site profile does not make any attempt to demonstrate all that ProcessWire can do. To learn more or ask questions, visit the <a href=\"http://www.processwire.com/talk/\" target=\"_blank\">ProcessWire forums</a>. If you are building a new site, this basic profile is a good place to start. You may use these existing templates and design as they are, or you may replace them entirely. <a href=\"./templates/\">Read more</a></p>\n\n<h2>Browse the Site</h2>');
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1002', '<h2>Ut capio feugiat saepius torqueo olim</h2><h3>In utinam facilisi eum vicis feugait nimis</h3><p>Iusto incassum appellatio cui macto genitus vel. Lobortis aliquam luctus, roto enim, imputo wisi tamen. Ratis odio, genitus acsi, neo illum consequat consectetuer ut. </p><p>Wisi fere virtus cogo, ex ut vel nullus similis vel iusto. Tation incassum adsum in, quibus capto premo diam suscipere facilisi. Uxor laoreet mos capio premo feugait ille et. Pecus abigo immitto epulae duis vel. Neque causa, indoles verto, decet ingenium dignissim. </p><p>Patria iriure vel vel autem proprius indoles ille sit. Tation blandit refoveo, accumsan ut ulciscor lucidus inhibeo capto aptent opes, foras. </p><h3>Dolore ea valde refero feugait utinam luctus</h3><p>Usitas, nostrud transverbero, in, amet, nostrud ad. Ex feugiat opto diam os aliquam regula lobortis dolore ut ut quadrum. Esse eu quis nunc jugis iriure volutpat wisi, fere blandit inhibeo melior, hendrerit, saluto velit. Eu bene ideo dignissim delenit accumsan nunc. Usitas ille autem camur consequat typicus feugait elit ex accumsan nutus accumsan nimis pagus, occuro. Immitto populus, qui feugiat opto pneum letalis paratus. Mara conventio torqueo nibh caecus abigo sit eum brevitas. Populus, duis ex quae exerci hendrerit, si antehabeo nobis, consequat ea praemitto zelus. </p><p>Immitto os ratis euismod conventio erat jus caecus sudo. Appellatio consequat, et ibidem ludus nulla dolor augue abdo tego euismod plaga lenis. Sit at nimis venio venio tego os et pecus enim pneum magna nobis ad pneum. Saepius turpis probo refero molior nonummy aliquam neque appellatio jus luctus acsi. Ulciscor refero pagus imputo eu refoveo valetudo duis dolore usitas. Consequat suscipere quod torqueo ratis ullamcorper, dolore lenis, letalis quia quadrum plaga minim. </p>');
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1003', '<h2>The site template files are located in /site/templates/</h2>\n\n<p>Each of the template files in this site profile includes the header template (head.inc), outputs the bodycopy, and then includes the footer template (foot.inc). This is to avoid duplication of the markup that is the same across all pages in the site. This strategy is called <em>direct output with includes</em> and is just one strategy you can use for templates.</p>\n\n<p>You could of course make each template completely self contained with its own markup (called direct output), but if you have more than one template with some of the same markup, then it wouldn\'t be very efficient to do that. As a result, it\'s better to move the reused parts (aka partials) into include files.</p>\n\n<p>Another strategy would be to use a have a <em>main</em> template that contains all your markup and has placeholders (variables) for the dynamic parts. Then your other templates would populate the placeholders before including the main template. This strategy is called <em>delayed output.</em></p>\n\n<p><a href=\"https://processwire.com/docs/tutorials/how-to-structure-your-template-files/\">Read more about these template strategies</a></p>');
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1001', '<h2>Si lobortis singularis genitus ibidem saluto.</h2>\n\n<p>Dolore ad nunc, mos accumsan paratus duis suscipit luptatum facilisis macto uxor iaceo quadrum. Demoveo, appellatio elit neque ad commodo ea. Wisi, iaceo, tincidunt at commoveo rusticus et, ludus. Feugait at blandit bene blandit suscipere abdo duis ideo bis commoveo pagus ex, velit. Consequat commodo roto accumsan, duis transverbero.</p>');
|
||||
INSERT INTO `field_body` (`pages_id`, `data`) VALUES('1004', '<h2>Pertineo vel dignissim, natu letalis fere odio</h2><h3>Si lobortis singularis genitus ibidem saluto</h3><p>Magna in gemino, gilvus iusto capto jugis abdo mos aptent acsi qui. Utrum inhibeo humo humo duis quae. Lucidus paulatim facilisi scisco quibus hendrerit conventio adsum. Feugiat eligo foras ex elit sed indoles hos elit ex antehabeo defui et nostrud. Letatio valetudo multo consequat inhibeo ille dignissim pagus et in quadrum eum eu. Aliquam si consequat, ut nulla amet et turpis exerci, adsum luctus ne decet, delenit. Commoveo nunc diam valetudo cui, aptent commoveo at obruo uxor nulla aliquip augue. </p><p>Iriure, ex velit, praesent vulpes delenit capio vero gilvus inhibeo letatio aliquip metuo qui eros. Transverbero demoveo euismod letatio torqueo melior. Ut odio in suscipit paulatim amet huic letalis suscipere eros causa, letalis magna. </p>');
|
||||
|
||||
DROP TABLE IF EXISTS `field_email`;
|
||||
CREATE TABLE `field_email` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` varchar(250) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `data_exact` (`data`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `field_headline`;
|
||||
CREATE TABLE `field_headline` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` text NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('1', 'Basic Example Site');
|
||||
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('1001', 'About Us');
|
||||
INSERT INTO `field_headline` (`pages_id`, `data`) VALUES('1003', 'Developing Site Templates');
|
||||
|
||||
DROP TABLE IF EXISTS `field_images`;
|
||||
CREATE TABLE `field_images` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` varchar(250) NOT NULL,
|
||||
`sort` int(10) unsigned NOT NULL,
|
||||
`description` text NOT NULL,
|
||||
`modified` datetime DEFAULT NULL,
|
||||
`created` datetime DEFAULT NULL,
|
||||
PRIMARY KEY (`pages_id`,`sort`),
|
||||
KEY `data` (`data`),
|
||||
KEY `modified` (`modified`),
|
||||
KEY `created` (`created`),
|
||||
FULLTEXT KEY `description` (`description`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'westin_interior2.jpg', '7', 'Westin Peachtree Atlanta hotel lobby area.', NOW(), NOW());
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'marquis_interior7b.jpg', '5', 'Elevator at the Atlanta Marriott Marquis hotel.', NOW(), NOW());
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'marquis_interior13b_med.jpg', '6', 'Atrium at the Atlanta Marriott Marquis hotel.', NOW(), NOW());
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'marquis_interior3.jpg', '4', 'Elevator core at the Atlanta Marriott Marquis hotel.', NOW(), NOW());
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'hyatt_interior11.jpg', '3', 'Looking up from the lobby area at the Atlanta Hyatt hotel.', NOW(), NOW());
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'hyatt2.jpg', '2', 'Detail from Atlanta Hyatt Hotel.', NOW(), NOW());
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'hyatt_interior9.jpg', '1', 'Detail from Atlanta Hyatt Hotel.', NOW(), NOW());
|
||||
INSERT INTO `field_images` (`pages_id`, `data`, `sort`, `description`, `modified`, `created`) VALUES('1', 'westin_interior1.jpg', '0', 'Westin Peachtree Atlanta hotel lobby area.', NOW(), NOW());
|
||||
|
||||
DROP TABLE IF EXISTS `field_pass`;
|
||||
CREATE TABLE `field_pass` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` char(40) NOT NULL,
|
||||
`salt` char(32) NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=ascii;
|
||||
|
||||
DROP TABLE IF EXISTS `field_permissions`;
|
||||
CREATE TABLE `field_permissions` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` int(11) NOT NULL,
|
||||
`sort` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`pages_id`,`sort`),
|
||||
KEY `data` (`data`,`pages_id`,`sort`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `field_process`;
|
||||
CREATE TABLE `field_process` (
|
||||
`pages_id` int(11) NOT NULL DEFAULT '0',
|
||||
`data` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('6', '17');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('3', '12');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('8', '12');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('9', '14');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('10', '7');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('11', '47');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('16', '48');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('300', '104');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('21', '50');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('29', '66');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('23', '10');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('304', '138');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('31', '136');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('22', '76');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('30', '68');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('303', '129');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('2', '87');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('302', '121');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('301', '109');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('28', '76');
|
||||
INSERT INTO `field_process` (`pages_id`, `data`) VALUES('1007', '150');
|
||||
|
||||
DROP TABLE IF EXISTS `field_roles`;
|
||||
CREATE TABLE `field_roles` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` int(11) NOT NULL,
|
||||
`sort` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`pages_id`,`sort`),
|
||||
KEY `data` (`data`,`pages_id`,`sort`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `field_sidebar`;
|
||||
CREATE TABLE `field_sidebar` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` mediumtext NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_sidebar` (`pages_id`, `data`) VALUES('1', '<h3>About ProcessWire</h3>\n\n<p>ProcessWire is an open source CMS and web application framework aimed at the needs of designers, developers and their clients.</p>\n\n<p><a href=\"https://processwire.com/about/sites/\">Showcase</a><br /><a href=\"https://processwire.com/docs/\">Documentation</a><br /><a href=\"https://processwire.com/docs/tutorials/\">Tutorials</a><br /><a href=\"https://processwire.com/talk/\">Support</a><br /><a href=\"http://cheatsheet.processwire.com\">API Cheatsheet</a><br /><a href=\"http://modules.processwire.com\">Modules</a></p>\n\n<p> </p>\n\n<p> </p>');
|
||||
INSERT INTO `field_sidebar` (`pages_id`, `data`) VALUES('1002', '<h3>Sudo nullus</h3><p>Et torqueo vulpes vereor luctus augue quod consectetuer antehabeo causa patria tation ex plaga ut. Abluo delenit wisi iriure eros feugiat probo nisl aliquip nisl, patria. Antehabeo esse camur nisl modo utinam. Sudo nullus ventosus ibidem facilisis saepius eum sino pneum, vicis odio voco opto.</p>');
|
||||
|
||||
DROP TABLE IF EXISTS `field_summary`;
|
||||
CREATE TABLE `field_summary` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` mediumtext NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1002', 'Dolore ea valde refero feugait utinam luctus. Probo velit commoveo et, delenit praesent, suscipit zelus, hendrerit zelus illum facilisi, regula. ');
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1001', 'This is a placeholder page with two child pages to serve as an example. ');
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1005', 'View this template\'s source for a demonstration of how to create a basic site map. ');
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1003', 'More about the templates included in this basic site profile. ');
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1004', 'Mos erat reprobo in praesent, mara premo, obruo iustum pecus velit lobortis te sagaciter populus.');
|
||||
INSERT INTO `field_summary` (`pages_id`, `data`) VALUES('1', 'ProcessWire is an open source CMS and web application framework aimed at the needs of designers, developers and their clients. ');
|
||||
|
||||
DROP TABLE IF EXISTS `field_title`;
|
||||
CREATE TABLE `field_title` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`data` text NOT NULL,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `data_exact` (`data`(255)),
|
||||
FULLTEXT KEY `data` (`data`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('11', 'Templates');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('16', 'Fields');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('22', 'Setup');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('3', 'Pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('6', 'Add Page');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('8', 'Tree');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('9', 'Save Sort');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('10', 'Edit Page');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('21', 'Modules');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('29', 'Users');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('30', 'Roles');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('2', 'Admin');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('7', 'Trash');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('27', '404 Page Not Found');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('302', 'Insert Link');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('23', 'Login');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('304', 'Profile');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('301', 'Empty Trash');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('300', 'Search');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('303', 'Insert Image');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('28', 'Access');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('31', 'Permissions');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('32', 'Edit pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('34', 'Delete pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('35', 'Move pages (change parent)');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('36', 'View pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('50', 'Sort child pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('51', 'Change templates on pages');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('52', 'Administer users');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('53', 'User can update profile/password');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('54', 'Lock or unlock a page');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1', 'Home');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1001', 'About');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1002', 'Child page example 1');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1000', 'Search');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1003', 'Templates');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1004', 'Child page example 2');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1005', 'Site Map');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1006', 'Use Page Lister');
|
||||
INSERT INTO `field_title` (`pages_id`, `data`) VALUES('1007', 'Find');
|
||||
|
||||
DROP TABLE IF EXISTS `fieldgroups`;
|
||||
CREATE TABLE `fieldgroups` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(250) CHARACTER SET ascii NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name` (`name`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=97 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('2', 'admin');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('3', 'user');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('4', 'role');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('5', 'permission');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('1', 'home');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('88', 'sitemap');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('83', 'basic-page');
|
||||
INSERT INTO `fieldgroups` (`id`, `name`) VALUES('80', 'search');
|
||||
|
||||
DROP TABLE IF EXISTS `fieldgroups_fields`;
|
||||
CREATE TABLE `fieldgroups_fields` (
|
||||
`fieldgroups_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`fields_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`sort` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`data` text,
|
||||
PRIMARY KEY (`fieldgroups_id`,`fields_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('2', '2', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('2', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '3', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '4', '2', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('4', '5', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('5', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('3', '92', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '44', '5', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '76', '3', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('80', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '78', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '44', '5', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '82', '4', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('88', '79', '1', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '79', '2', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('1', '82', '4', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('88', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '76', '3', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '79', '2', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '1', '0', NULL);
|
||||
INSERT INTO `fieldgroups_fields` (`fieldgroups_id`, `fields_id`, `sort`, `data`) VALUES('83', '78', '1', NULL);
|
||||
|
||||
DROP TABLE IF EXISTS `fields`;
|
||||
CREATE TABLE `fields` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`type` varchar(128) CHARACTER SET ascii NOT NULL,
|
||||
`name` varchar(250) CHARACTER SET ascii NOT NULL,
|
||||
`flags` int(11) NOT NULL DEFAULT '0',
|
||||
`label` varchar(250) NOT NULL DEFAULT '',
|
||||
`data` text NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name` (`name`),
|
||||
KEY `type` (`type`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=98 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('1', 'FieldtypePageTitle', 'title', '13', 'Title', '{\"required\":1,\"textformatters\":[\"TextformatterEntities\"],\"size\":0,\"maxlength\":255}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('2', 'FieldtypeModule', 'process', '25', 'Process', '{\"description\":\"The process that is executed on this page. Since this is mostly used by ProcessWire internally, it is recommended that you don\'t change the value of this unless adding your own pages in the admin.\",\"collapsed\":1,\"required\":1,\"moduleTypes\":[\"Process\"],\"permanent\":1}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('3', 'FieldtypePassword', 'pass', '24', 'Set Password', '{\"collapsed\":1,\"size\":50,\"maxlength\":128}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('5', 'FieldtypePage', 'permissions', '24', 'Permissions', '{\"derefAsPage\":0,\"parent_id\":31,\"labelFieldName\":\"title\",\"inputfield\":\"InputfieldCheckboxes\"}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('4', 'FieldtypePage', 'roles', '24', 'Roles', '{\"derefAsPage\":0,\"parent_id\":30,\"labelFieldName\":\"name\",\"inputfield\":\"InputfieldCheckboxes\",\"description\":\"User will inherit the permissions assigned to each role. You may assign multiple roles to a user. When accessing a page, the user will only inherit permissions from the roles that are also assigned to the page\'s template.\"}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('92', 'FieldtypeEmail', 'email', '9', 'E-Mail Address', '{\"size\":70,\"maxlength\":255}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('82', 'FieldtypeTextarea', 'sidebar', '0', 'Sidebar', '{\"inputfieldClass\":\"InputfieldCKEditor\",\"rows\":5,\"contentType\":1,\"toolbar\":\"Format, Styles, -, Bold, Italic, -, RemoveFormat\\r\\nNumberedList, BulletedList, -, Blockquote\\r\\nPWLink, Unlink, Anchor\\r\\nPWImage, Table, HorizontalRule, SpecialChar\\r\\nPasteText, PasteFromWord\\r\\nScayt, -, Sourcedialog\",\"inlineMode\":0,\"useACF\":1,\"usePurifier\":1,\"toggles\":[2,4,8],\"formatTags\":\"p;h2;h3;h4;h5;h6;pre;address\",\"extraPlugins\":[\"pwimage\",\"pwlink\",\"sourcedialog\"],\"removePlugins\":\"image,magicline\",\"collapsed\":2}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('44', 'FieldtypeImage', 'images', '0', 'Images', '{\"extensions\":\"gif jpg jpeg png\",\"adminThumbs\":1,\"inputfieldClass\":\"InputfieldImage\",\"maxFiles\":0,\"descriptionRows\":1,\"fileSchema\":2,\"textformatters\":[\"TextformatterEntities\"],\"outputFormat\":1,\"defaultValuePage\":0,\"defaultGrid\":0,\"icon\":\"camera\"}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('79', 'FieldtypeTextarea', 'summary', '1', 'Summary', '{\"textformatters\":[\"TextformatterEntities\"],\"inputfieldClass\":\"InputfieldTextarea\",\"collapsed\":2,\"rows\":3,\"contentType\":0}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('76', 'FieldtypeTextarea', 'body', '0', 'Body', '{\"inputfieldClass\":\"InputfieldCKEditor\",\"rows\":10,\"contentType\":1,\"toolbar\":\"Format, Styles, -, Bold, Italic, -, RemoveFormat\\r\\nNumberedList, BulletedList, -, Blockquote\\r\\nPWLink, Unlink, Anchor\\r\\nPWImage, Table, HorizontalRule, SpecialChar\\r\\nPasteText, PasteFromWord\\r\\nScayt, -, Sourcedialog\",\"inlineMode\":0,\"useACF\":1,\"usePurifier\":1,\"formatTags\":\"p;h2;h3;h4;h5;h6;pre;address\",\"extraPlugins\":[\"pwimage\",\"pwlink\",\"sourcedialog\"],\"removePlugins\":\"image,magicline\",\"toggles\":[2,4,8]}');
|
||||
INSERT INTO `fields` (`id`, `type`, `name`, `flags`, `label`, `data`) VALUES('78', 'FieldtypeText', 'headline', '0', 'Headline', '{\"description\":\"Use this instead of the Title if a longer headline is needed than what you want to appear in navigation.\",\"textformatters\":[\"TextformatterEntities\"],\"collapsed\":2,\"size\":0,\"maxlength\":1024}');
|
||||
|
||||
DROP TABLE IF EXISTS `modules`;
|
||||
CREATE TABLE `modules` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`class` varchar(128) CHARACTER SET ascii NOT NULL,
|
||||
`flags` int(11) NOT NULL DEFAULT '0',
|
||||
`data` text NOT NULL,
|
||||
`created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `class` (`class`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=155 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('1', 'FieldtypeTextarea', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('2', 'FieldtypeNumber', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('3', 'FieldtypeText', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('4', 'FieldtypePage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('30', 'InputfieldForm', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('6', 'FieldtypeFile', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('7', 'ProcessPageEdit', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('10', 'ProcessLogin', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('12', 'ProcessPageList', '0', '{\"pageLabelField\":\"title\",\"paginationLimit\":25,\"limit\":50}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('121', 'ProcessPageEditLink', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('14', 'ProcessPageSort', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('15', 'InputfieldPageListSelect', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('117', 'JqueryUI', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('17', 'ProcessPageAdd', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('125', 'SessionLoginThrottle', '3', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('122', 'InputfieldPassword', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('25', 'InputfieldAsmSelect', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('116', 'JqueryCore', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('27', 'FieldtypeModule', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('28', 'FieldtypeDatetime', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('29', 'FieldtypeEmail', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('108', 'InputfieldURL', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('32', 'InputfieldSubmit', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('33', 'InputfieldWrapper', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('34', 'InputfieldText', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('35', 'InputfieldTextarea', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('36', 'InputfieldSelect', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('37', 'InputfieldCheckbox', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('38', 'InputfieldCheckboxes', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('39', 'InputfieldRadios', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('40', 'InputfieldHidden', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('41', 'InputfieldName', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('43', 'InputfieldSelectMultiple', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('45', 'JqueryWireTabs', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('46', 'ProcessPage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('47', 'ProcessTemplate', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('48', 'ProcessField', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('50', 'ProcessModule', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('114', 'PagePermissions', '3', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('97', 'FieldtypeCheckbox', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('115', 'PageRender', '3', '{\"clearCache\":1}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('55', 'InputfieldFile', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('56', 'InputfieldImage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('57', 'FieldtypeImage', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('60', 'InputfieldPage', '0', '{\"inputfieldClasses\":[\"InputfieldSelect\",\"InputfieldSelectMultiple\",\"InputfieldCheckboxes\",\"InputfieldRadios\",\"InputfieldAsmSelect\",\"InputfieldPageListSelect\",\"InputfieldPageListSelectMultiple\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('61', 'TextformatterEntities', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('66', 'ProcessUser', '0', '{\"showFields\":[\"name\",\"email\",\"roles\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('67', 'MarkupAdminDataTable', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('68', 'ProcessRole', '0', '{\"showFields\":[\"name\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('76', 'ProcessList', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('78', 'InputfieldFieldset', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('79', 'InputfieldMarkup', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('80', 'InputfieldEmail', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('89', 'FieldtypeFloat', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('83', 'ProcessPageView', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('84', 'FieldtypeInteger', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('85', 'InputfieldInteger', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('86', 'InputfieldPageName', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('87', 'ProcessHome', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('90', 'InputfieldFloat', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('92', 'InputfieldTinyMCE', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('94', 'InputfieldDatetime', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('98', 'MarkupPagerNav', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('129', 'ProcessPageEditImageSelect', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('103', 'JqueryTableSorter', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('104', 'ProcessPageSearch', '1', '{\"searchFields\":\"title\",\"displayField\":\"title path\"}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('105', 'FieldtypeFieldsetOpen', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('106', 'FieldtypeFieldsetClose', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('107', 'FieldtypeFieldsetTabOpen', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('109', 'ProcessPageTrash', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('111', 'FieldtypePageTitle', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('112', 'InputfieldPageTitle', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('113', 'MarkupPageArray', '3', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('131', 'InputfieldButton', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('133', 'FieldtypePassword', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('134', 'ProcessPageType', '1', '{\"showFields\":[]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('135', 'FieldtypeURL', '1', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('136', 'ProcessPermission', '1', '{\"showFields\":[\"name\",\"title\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('137', 'InputfieldPageListSelectMultiple', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('138', 'ProcessProfile', '1', '{\"profileFields\":[\"pass\",\"email\"]}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('139', 'SystemUpdater', '1', '{\"systemVersion\":7}', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('148', 'AdminThemeDefault', '2', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('149', 'InputfieldSelector', '2', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('150', 'ProcessPageLister', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('151', 'InputfieldCKEditor', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('152', 'MarkupHTMLPurifier', '0', '', NOW());
|
||||
INSERT INTO `modules` (`id`, `class`, `flags`, `data`, `created`) VALUES('153', 'JqueryMagnific', '1', '', NOW());
|
||||
|
||||
DROP TABLE IF EXISTS `pages`;
|
||||
CREATE TABLE `pages` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`parent_id` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`templates_id` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`name` varchar(128) CHARACTER SET ascii NOT NULL,
|
||||
`status` int(10) unsigned NOT NULL DEFAULT '1',
|
||||
`modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`modified_users_id` int(10) unsigned NOT NULL DEFAULT '2',
|
||||
`created` timestamp NOT NULL DEFAULT '2015-12-18 06:09:00',
|
||||
`created_users_id` int(10) unsigned NOT NULL DEFAULT '2',
|
||||
`sort` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name_parent_id` (`name`,`parent_id`),
|
||||
KEY `parent_id` (`parent_id`),
|
||||
KEY `templates_id` (`templates_id`),
|
||||
KEY `modified` (`modified`),
|
||||
KEY `created` (`created`),
|
||||
KEY `status` (`status`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=1009 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1', '0', '1', 'home', '9', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('2', '1', '2', 'processwire', '1035', NOW(), '40', NOW(), '2', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('3', '2', '2', 'page', '21', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('6', '3', '2', 'add', '1045', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('7', '1', '2', 'trash', '1039', NOW(), '41', NOW(), '2', '6');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('8', '3', '2', 'list', '21', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('9', '3', '2', 'sort', '1047', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('10', '3', '2', 'edit', '1045', NOW(), '41', NOW(), '2', '3');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('11', '22', '2', 'template', '21', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('16', '22', '2', 'field', '21', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('21', '2', '2', 'module', '21', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('22', '2', '2', 'setup', '21', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('23', '2', '2', 'login', '1035', NOW(), '41', NOW(), '2', '4');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('27', '1', '29', 'http404', '1035', NOW(), '41', NOW(), '3', '4');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('28', '2', '2', 'access', '13', NOW(), '41', NOW(), '2', '3');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('29', '28', '2', 'users', '29', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('30', '28', '2', 'roles', '29', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('31', '28', '2', 'permissions', '29', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('32', '31', '5', 'page-edit', '25', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('34', '31', '5', 'page-delete', '25', NOW(), '41', NOW(), '2', '3');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('35', '31', '5', 'page-move', '25', NOW(), '41', NOW(), '2', '4');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('36', '31', '5', 'page-view', '25', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('37', '30', '4', 'guest', '25', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('38', '30', '4', 'superuser', '25', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('41', '29', '3', 'admin', '1', NOW(), '40', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('40', '29', '3', 'guest', '25', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('50', '31', '5', 'page-sort', '25', NOW(), '41', NOW(), '41', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('51', '31', '5', 'page-template', '25', NOW(), '41', NOW(), '41', '6');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('52', '31', '5', 'user-admin', '25', NOW(), '41', NOW(), '41', '10');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('53', '31', '5', 'profile-edit', '1', NOW(), '41', NOW(), '41', '13');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('54', '31', '5', 'page-lock', '1', NOW(), '41', NOW(), '41', '8');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('300', '3', '2', 'search', '1045', NOW(), '41', NOW(), '2', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('301', '3', '2', 'trash', '1047', NOW(), '41', NOW(), '2', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('302', '3', '2', 'link', '1041', NOW(), '41', NOW(), '2', '6');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('303', '3', '2', 'image', '1041', NOW(), '41', NOW(), '2', '7');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('304', '2', '2', 'profile', '1025', NOW(), '41', NOW(), '41', '5');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1000', '1', '26', 'search', '1025', NOW(), '41', NOW(), '2', '3');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1001', '1', '29', 'about', '1', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1002', '1001', '29', 'what', '1', NOW(), '41', NOW(), '2', '0');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1003', '1', '29', 'templates', '1', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1004', '1001', '29', 'background', '1', NOW(), '41', NOW(), '2', '1');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1005', '1', '34', 'site-map', '1', NOW(), '41', NOW(), '2', '2');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1006', '31', '5', 'page-lister', '1', NOW(), '40', NOW(), '40', '9');
|
||||
INSERT INTO `pages` (`id`, `parent_id`, `templates_id`, `name`, `status`, `modified`, `modified_users_id`, `created`, `created_users_id`, `sort`) VALUES('1007', '3', '2', 'lister', '1', NOW(), '40', NOW(), '40', '8');
|
||||
|
||||
DROP TABLE IF EXISTS `pages_access`;
|
||||
CREATE TABLE `pages_access` (
|
||||
`pages_id` int(11) NOT NULL,
|
||||
`templates_id` int(11) NOT NULL,
|
||||
`ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`pages_id`),
|
||||
KEY `templates_id` (`templates_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('37', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('38', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('32', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('34', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('35', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('36', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('50', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('51', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('52', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('53', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('54', '2', NOW());
|
||||
INSERT INTO `pages_access` (`pages_id`, `templates_id`, `ts`) VALUES('1006', '2', NOW());
|
||||
|
||||
DROP TABLE IF EXISTS `pages_parents`;
|
||||
CREATE TABLE `pages_parents` (
|
||||
`pages_id` int(10) unsigned NOT NULL,
|
||||
`parents_id` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`pages_id`,`parents_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('2', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('3', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('3', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('7', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('22', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('22', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('28', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('28', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('29', '28');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('30', '28');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '2');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('31', '28');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1001', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1002', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1002', '1001');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1003', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1004', '1');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1004', '1001');
|
||||
INSERT INTO `pages_parents` (`pages_id`, `parents_id`) VALUES('1005', '1');
|
||||
|
||||
DROP TABLE IF EXISTS `pages_sortfields`;
|
||||
CREATE TABLE `pages_sortfields` (
|
||||
`pages_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`sortfield` varchar(20) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`pages_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `session_login_throttle`;
|
||||
CREATE TABLE `session_login_throttle` (
|
||||
`name` varchar(128) NOT NULL,
|
||||
`attempts` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`last_attempt` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`name`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
DROP TABLE IF EXISTS `templates`;
|
||||
CREATE TABLE `templates` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(250) CHARACTER SET ascii NOT NULL,
|
||||
`fieldgroups_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`flags` int(11) NOT NULL DEFAULT '0',
|
||||
`cache_time` mediumint(9) NOT NULL DEFAULT '0',
|
||||
`data` text NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name` (`name`),
|
||||
KEY `fieldgroups_id` (`fieldgroups_id`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=43 DEFAULT CHARSET=utf8;
|
||||
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('2', 'admin', '2', '8', '0', '{\"useRoles\":1,\"parentTemplates\":[2],\"allowPageNum\":1,\"redirectLogin\":23,\"slashUrls\":1,\"noGlobal\":1,\"modified\":1377936792}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('3', 'user', '3', '8', '0', '{\"useRoles\":1,\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"pageClass\":\"User\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('4', 'role', '4', '8', '0', '{\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"pageClass\":\"Role\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('5', 'permission', '5', '8', '0', '{\"noChildren\":1,\"parentTemplates\":[2],\"slashUrls\":1,\"guestSearchable\":1,\"pageClass\":\"Permission\",\"noGlobal\":1,\"noMove\":1,\"noTrash\":1,\"noSettings\":1,\"noChangeTemplate\":1,\"nameContentTab\":1}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('1', 'home', '1', '0', '0', '{\"useRoles\":1,\"noParents\":1,\"slashUrls\":1,\"modified\":1377936792,\"roles\":[37]}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('29', 'basic-page', '83', '0', '0', '{\"slashUrls\":1,\"modified\":1377936792}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('26', 'search', '80', '0', '0', '{\"noChildren\":1,\"noParents\":1,\"allowPageNum\":1,\"slashUrls\":1,\"modified\":1377936792}');
|
||||
INSERT INTO `templates` (`id`, `name`, `fieldgroups_id`, `flags`, `cache_time`, `data`) VALUES('34', 'sitemap', '88', '0', '0', '{\"noChildren\":1,\"noParents\":1,\"redirectLogin\":23,\"slashUrls\":1,\"modified\":1377936792}');
|
||||
|
||||
UPDATE pages SET created_users_id=41, modified_users_id=41, created=NOW(), modified=NOW();
|
||||
|
||||
--- /WireDatabaseBackup {"numTables":16,"numCreateTables":22,"numInserts":302,"numSeconds":0}
|
Before Width: | Height: | Size: 71 KiB |
@@ -1,90 +0,0 @@
|
||||
ABOUT /SITE/MODULES/
|
||||
====================
|
||||
This directory /site/modules/ is where you may install additional plugin modules.
|
||||
These modules are specific to your site only. There is also a corresponding
|
||||
/wire/modules/ directory, which contains ProcessWire's core modules (and best to
|
||||
leave those alone).
|
||||
|
||||
If safe for your hosting environment, you may wish to make this directory
|
||||
writable to PHP so that the installation of your modules can be managed from
|
||||
ProcessWire's admin. However, this is not necessarily safe in all shared hosting
|
||||
environments and is completely optional.
|
||||
|
||||
|
||||
Where to get modules?
|
||||
---------------------
|
||||
Visit the modules directory at: http://modules.processwire.com
|
||||
|
||||
|
||||
Installing modules from the ProcessWire admin
|
||||
---------------------------------------------
|
||||
If your /site/modules/ directory is writable, you can install modules from
|
||||
ProcessWire's admin directly from the Modules Directory, from a ZIP file or from
|
||||
a URL to a ZIP file. In your ProcessWire admin, see Modules > New for
|
||||
installation options.
|
||||
|
||||
|
||||
Installing modules from the file system
|
||||
---------------------------------------
|
||||
Each module (and any related files) should live in a directory of its own. The
|
||||
directory should generally carry the same name as the module. For instance, if
|
||||
you are installing a module named ProcessDatabaseBackups.module, then it should
|
||||
live in the directory /site/modules/ProcessDatabaseBackups/.
|
||||
|
||||
Once you have placed a new module in this directory, you need to let ProcessWire
|
||||
know about it. Login to the admin and click "Modules". Then click the "Check for
|
||||
new modules" button. It will find your new module(s). Click the "Install" button
|
||||
next to any new modules that you want to install.
|
||||
|
||||
|
||||
Removing modules
|
||||
----------------
|
||||
The first step in removing a module is to uninstall it from ProcessWire (if it
|
||||
isn't already). You do this by going to the "Modules" page, and "Site" tab in
|
||||
your ProcessWire admin. Click the "Uninstall" button next to the module you
|
||||
want to remove.
|
||||
|
||||
After the module is uninstalled, you may remove the module files. If your
|
||||
modules file system is writable to ProcessWire, it will give you a "Delete"
|
||||
button next to the module in your "Modules" admin page. You may click that to
|
||||
remove the module files.
|
||||
|
||||
If your file system is not writable, you may remove the module files manually
|
||||
from the file system (via SFTP or whatever tool you are using to manage your
|
||||
files on the server).
|
||||
|
||||
|
||||
Interested in learning how to make your own modules?
|
||||
----------------------------------------------------
|
||||
We've created two "Hello World" modules as examples for those interested in
|
||||
learning module development:
|
||||
|
||||
- Helloworld.module demonstrates the basics of modules and hooks.
|
||||
http://modules.processwire.com/modules/helloworld/
|
||||
|
||||
- ProcessHello.module demonstrates the basics of how to create a Process
|
||||
module. Process modules are those that create applications in the admin.
|
||||
http://modules.processwire.com/modules/process-hello/
|
||||
|
||||
There is a module development forum located at:
|
||||
https://processwire.com/talk/forum/19-moduleplugin-development/
|
||||
|
||||
For a tutorial on how to create modules, see:
|
||||
http://wiki.processwire.com/index.php/Module_Creation
|
||||
|
||||
|
||||
Additional resources
|
||||
--------------------
|
||||
|
||||
To find and download new modules, see the modules directory at:
|
||||
http://modules.processwire.com/
|
||||
|
||||
For more information about modules, see the documentation at:
|
||||
http://processwire.com/api/modules/
|
||||
|
||||
For discussion and support of modules, see:
|
||||
http://processwire.com/talk/forum/4-modulesplugins/
|
||||
|
||||
|
||||
|
||||
|
@@ -1,98 +0,0 @@
|
||||
PROCESSWIRE TEMPLATE FILES
|
||||
==========================
|
||||
|
||||
The files in this directory correspond with the templates list in ProcessWire admin. Template files are just
|
||||
PHP files that output markup. They may also be just basic HTML files (with a .PHP extension). Most pages in
|
||||
the site are assigned to one of the template files in this directory.
|
||||
|
||||
These template files typically comprise the majority of what makes your site unique from any other
|
||||
ProcessWire installation. In keeping with this approach, you'll also see '/scripts/' and '/styles/'
|
||||
directories within this templates directory. They contain the site's javascript and CSS files. Though
|
||||
that is stylistic only, you can certainly place them somewhere else or rename them as desired.
|
||||
|
||||
Templates have full unrestricted access to the ProcessWire API and typically use it for finding pages and
|
||||
referencing their properties for output. If desired, templates may go further than this and call upon other
|
||||
web applications or anything else that you might do with PHP.
|
||||
|
||||
Every template is supplied with a $page object that refers to the current page being viewed. This $page
|
||||
object is locally scoped to the template file. The only thing you need to do to access it is directly
|
||||
refer to it in your PHP code. For instance, if you wanted to output the page's $title field from your
|
||||
template, you would do the following:
|
||||
|
||||
<?php echo $page->title; ?>
|
||||
|
||||
...or short syntax (if supported by your web host):
|
||||
|
||||
<?=$page->title?>
|
||||
|
||||
And likewise for any other fields assigned to the template. Though some fields require more, like
|
||||
files, images, page references and the like.
|
||||
|
||||
For more details about the $page API variable, please see:
|
||||
http://processwire.com/api/variables/page/
|
||||
|
||||
|
||||
LOADING OTHER PAGES FROM YOUR TEMPLATE
|
||||
======================================
|
||||
|
||||
Templates are also supplied with a $pages API variable that provides for loading and finding other pages.
|
||||
The most common methods used in that object are get() and find(), both of which take a selector string to
|
||||
locate and return pages. The only difference between them is that get() always returns 1 page, and find()
|
||||
returns a PageArray. Below are examples:
|
||||
|
||||
// find all pages using the skyscraper template
|
||||
$skyscrapers = $pages->find("template=skyscraper");
|
||||
|
||||
// find all skyscrapers with a height greater than 500 ft, and less than or equal to 1000 ft.
|
||||
$skyscrapers = $pages->find("template=skyscraper, height>500, height<=1000");
|
||||
|
||||
// find all skyscrapers in Chicago with 60+ floors, sorted by floors ascending
|
||||
$skyscrapers = $pages->get("/cities/chicago/")->children("floors>=60, sort=floors");
|
||||
|
||||
// find all skyscrapers built before 1950 with 10+ floors, sorted by year, then floors
|
||||
$skyscrapers = $pages->find("template=skyscraper, year<1950, floors>=10, sort=-year, sort=-floors");
|
||||
|
||||
// find all skyscrapers by architects David Childs or Renzo Piano, and sort by height descending
|
||||
$david = $pages->get("/architects/david-childs/");
|
||||
$renzo = $pages->get("/architects/renzo-piano/");
|
||||
$skyscrapers = $pages->find("architect=$david|$renzo, sort=-height");
|
||||
|
||||
// find all skyscrapers that mention the words "limestone" and "granite" somewhere in their body copy.
|
||||
$skyscrapers = $pages->get("/cities/")->find("template=skyscraper, body~=limestone granite");
|
||||
|
||||
// find all skyscrapers that mention the phrase "empire state building" in their body copy.
|
||||
$skyscrapers = $pages->find("template=skyscraper, body*=empire state building");
|
||||
|
||||
For more about the $pages API variable, please see:
|
||||
http://processwire.com/api/variables/pages/
|
||||
|
||||
|
||||
INCLUDING A TEMPLATE FROM ANOTHER TEMPLATE
|
||||
==========================================
|
||||
|
||||
When you include a template from another template, use the following syntax:
|
||||
|
||||
include("./my-template.php");
|
||||
|
||||
Note the leading "./" above. Do NOT use this syntax:
|
||||
|
||||
include("my-template.php");
|
||||
|
||||
The difference between the second [incorrect] example and the first [correct] example is that the first
|
||||
example starts with: "./". This tells PHP to look in the current directory. Whereas if you omit that part,
|
||||
PHP will search your include path, which could result in an error, or even worse, include the wrong file.
|
||||
So just remember to always precede your included files with "./".
|
||||
|
||||
|
||||
MORE INFORMATION
|
||||
================
|
||||
|
||||
The information in this file is very brief. Please see the official documentation at:
|
||||
http://processwire.com/api/
|
||||
|
||||
The ProcessWire API cheatsheet is especially handy:
|
||||
http://processwire.com/api/cheatsheet/
|
||||
|
||||
Please join the ProcessWire forum and we're always glad to assist with any questions you have:
|
||||
http://processwire.com/talk/
|
||||
|
@@ -1,15 +0,0 @@
|
||||
<?php namespace ProcessWire;
|
||||
|
||||
/**
|
||||
* Admin template just loads the admin application controller,
|
||||
* and admin is just an application built on top of ProcessWire.
|
||||
*
|
||||
* This demonstrates how you can use ProcessWire as a front-end
|
||||
* to another application.
|
||||
*
|
||||
* Feel free to hook admin-specific functionality from this file,
|
||||
* but remember to leave the require() statement below at the end.
|
||||
*
|
||||
*/
|
||||
|
||||
require($config->paths->adminTemplates . 'controller.php');
|
@@ -1,13 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page template
|
||||
*
|
||||
*/
|
||||
|
||||
include("./head.inc");
|
||||
|
||||
echo $page->body;
|
||||
|
||||
include("./foot.inc");
|
||||
|
@@ -1,11 +0,0 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>500 Internal Server Error</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Internal Server Error</h1>
|
||||
<p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p>
|
||||
<p>{message}</p>
|
||||
</body>
|
||||
</html>
|
@@ -1,21 +0,0 @@
|
||||
When a fatal error occurs, ProcessWire displays the message:
|
||||
|
||||
"Unable to complete this request due to an error."
|
||||
|
||||
The message is intentionally vague for security purposes.
|
||||
Details will be logged to /site/assets/logs/errors.txt.
|
||||
|
||||
When present in this directory, the file 500.html will be
|
||||
displayed instead of the generic error message above. Feel
|
||||
free to modify this file to show whatever you would like.
|
||||
Please note the following:
|
||||
|
||||
* 500.html is plain HTML and has no PHP or API access.
|
||||
|
||||
* You may enter the tag {message} and ProcessWire will
|
||||
replace this with additional details when applicable.
|
||||
When not applicable, it will make it blank.
|
||||
|
||||
* If you are logged in as an admin, ProcessWire will
|
||||
give you a detailed error message rather than 500.html.
|
||||
|
@@ -1,43 +0,0 @@
|
||||
<?php
|
||||
|
||||
// Output navigation for any children below the bodycopy.
|
||||
// This navigation cycles through the page's children and prints
|
||||
// a link and summary:
|
||||
|
||||
if($page->numChildren) {
|
||||
|
||||
echo "<ul class='nav' role='navigation'>";
|
||||
|
||||
foreach($page->children as $child) {
|
||||
echo "<li><p><a href='{$child->url}'>{$child->title}</a><br />";
|
||||
echo "<span class='summary'>{$child->summary}</span></p></li>";
|
||||
}
|
||||
|
||||
echo "</ul>";
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
</div><!--/bodycopy-->
|
||||
|
||||
</div><!--/container-->
|
||||
|
||||
</div><!--/content-->
|
||||
|
||||
<div id="footer" class="footer" role="contentinfo">
|
||||
<div class="container">
|
||||
<p>Powered by <a href='http://processwire.com'>ProcessWire Open Source CMS/CMF</a></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
|
||||
// If the page is editable, then output a link that takes us straight to the page edit screen:
|
||||
if($page->editable()) {
|
||||
echo "<a class='nav' id='editpage' href='{$config->urls->admin}page/edit/?id={$page->id}'>Edit</a>";
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
@@ -1,170 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Demo site header include file (HTML5)
|
||||
*
|
||||
* Note that this file has nothing to do with ProcessWire. We just split our common
|
||||
* header and footer markup into separate files (head.inc and foot.inc) like this,
|
||||
* since it was common to all of our templates.
|
||||
*
|
||||
*/
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
||||
|
||||
<title><?php echo $page->get("headline|title"); ?></title>
|
||||
|
||||
<meta name="description" content="<?php echo $page->summary; ?>" />
|
||||
|
||||
<meta name="generator" content="ProcessWire <?php echo $config->version; ?>" />
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/main.css" />
|
||||
|
||||
<!--[if IE]>
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo $config->urls->templates?>styles/ie.css" />
|
||||
<![endif]-->
|
||||
|
||||
<!-- This website is powered by ProcessWire CMF/CMS - https://processwire.com -->
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<a href="#bodycopy" class="visually-hidden element-focusable bypass-to-main">Skip to content</a>
|
||||
|
||||
<p id='bgtitle'><?php
|
||||
|
||||
// print the section title as big faded text that appears near the top left of the page
|
||||
echo $page->rootParent->title;
|
||||
|
||||
?></p>
|
||||
|
||||
<div id="masthead" class="masthead">
|
||||
|
||||
<div class="container">
|
||||
|
||||
<a href='<?php echo $config->urls->root; ?>'><p id='logo'>ProcessWire</p></a>
|
||||
|
||||
<ul id='topnav' role='navigation'><?php
|
||||
|
||||
// Create the top navigation list by listing the children of the homepage.
|
||||
// If the section we are in is the current (identified by $page->rootParent)
|
||||
// then note it with <a class='on'> so we can style it differently in our CSS
|
||||
// and add a text that is visually hidden, but available for screen readers.
|
||||
// In this case we also want the homepage to be part of our top navigation,
|
||||
// so we prepend it to the pages we cycle through:
|
||||
|
||||
$homepage = $pages->get("/");
|
||||
$children = $homepage->children;
|
||||
$children->prepend($homepage);
|
||||
|
||||
foreach($children as $child) {
|
||||
if ($child === $page->rootParent) {
|
||||
$class = " class='on'";
|
||||
$indicator = "<span class='visually-hidden'>Current page: </span>";
|
||||
$ariaState = " aria-current='true' ";
|
||||
}
|
||||
$class = $child === $page->rootParent ? " class='on'" : '';
|
||||
echo "<li><a$class$ariaState href='{$child->url}'>$indicator{$child->title}</a></li>";
|
||||
}
|
||||
|
||||
?></ul>
|
||||
|
||||
<ul id='breadcrumb' role='navigation' aria-label='You are here:'><?php
|
||||
|
||||
// Create breadcrumb navigation by cycling through the current $page's
|
||||
// parents in order, linking to each:
|
||||
|
||||
foreach($page->parents as $parent) {
|
||||
echo "<li><a href='{$parent->url}'>{$parent->title}</a> <span class='visually-hidden'>></span> </li>";
|
||||
}
|
||||
|
||||
?></ul>
|
||||
|
||||
<h1 id='title'><?php
|
||||
|
||||
// The statement below asks for the page's headline or title.
|
||||
// Separating multiple fields with a pipe "|" returns the first
|
||||
// one that has a value. So in this case, we print the headline
|
||||
// field if it's there, otherwise we print the title.
|
||||
|
||||
echo $page->get("headline|title");
|
||||
|
||||
?></h1>
|
||||
|
||||
<form id='search_form' action='<?php echo $config->urls->root?>search/' method='get'>
|
||||
<label for='search_query' class='visually-hidden'>Search:</label>
|
||||
<input type='text' name='q' id='search_query' value='<?php echo htmlentities($input->whitelist('q'), ENT_QUOTES, 'UTF-8'); ?>' />
|
||||
<button type='submit' id='search_submit'>Search</button>
|
||||
</form>
|
||||
|
||||
<?php
|
||||
|
||||
// Grab a random image from the homepage and display it.
|
||||
// Note that $homepage was loaded above where we generated the top navigation.
|
||||
|
||||
if(count($homepage->images)) {
|
||||
$image = $homepage->images->getRandom();
|
||||
$thumb = $image->size(232, 176);
|
||||
echo "<a href='{$image->url}'><img id='photo' src='{$thumb->url}' alt='{$thumb->description}' width='{$thumb->width}' height='{$thumb->height}' /></a>";
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="content" class="content">
|
||||
|
||||
<div class="container">
|
||||
|
||||
<div id="sidebar" role='complementary'>
|
||||
|
||||
<?php
|
||||
|
||||
// Output subnavigation
|
||||
//
|
||||
// Below we check to see that we're not on the homepage, and that
|
||||
// there are at least one or more pages in this section.
|
||||
//
|
||||
// Note $page->rootParent is always the top level section the page is in,
|
||||
// or to word differently: the first parent page that isn't the homepage.
|
||||
|
||||
if($page->path != '/' && $page->rootParent->numChildren > 0) {
|
||||
|
||||
// We have determined that we're not on the homepage
|
||||
// and that this section has child pages, so make navigation:
|
||||
|
||||
echo "<ul id='subnav' class='nav' role='navigation'>";
|
||||
|
||||
foreach($page->rootParent->children as $child) {
|
||||
$class = $page === $child ? " class='on'" : '';
|
||||
$ariaState = $page === $child ? " aria-current='true' " : '';
|
||||
echo "<li><a$class$ariaState href='{$child->url}'>{$child->title}</a></li>";
|
||||
}
|
||||
|
||||
echo "</ul>";
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<div class='sidebar_item'>
|
||||
|
||||
<?php
|
||||
|
||||
// if the current page has a populated 'sidebar' field, then print it,
|
||||
// otherwise print the sidebar from the homepage
|
||||
|
||||
if($page->sidebar) echo $page->sidebar;
|
||||
else echo $homepage->sidebar;
|
||||
?>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div><!--/sidebar-->
|
||||
|
||||
<div id="bodycopy" role="main">
|
||||
|
@@ -1,13 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Home template
|
||||
*
|
||||
*/
|
||||
|
||||
include("./head.inc");
|
||||
|
||||
echo $page->body;
|
||||
|
||||
include("./foot.inc");
|
||||
|
@@ -1,49 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Search template
|
||||
*
|
||||
*/
|
||||
|
||||
$out = '';
|
||||
|
||||
if($q = $sanitizer->selectorValue($input->get->q)) {
|
||||
|
||||
// Send our sanitized query 'q' variable to the whitelist where it will be
|
||||
// picked up and echoed in the search box by the head.inc file.
|
||||
$input->whitelist('q', $q);
|
||||
|
||||
// Search the title, body and sidebar fields for our query text.
|
||||
// Limit the results to 50 pages.
|
||||
// Exclude results that use the 'admin' template.
|
||||
$matches = $pages->find("title|body|sidebar~=$q, limit=50");
|
||||
|
||||
$count = count($matches);
|
||||
|
||||
if($count) {
|
||||
$out .= "<h2>Found $count pages matching your query:</h2>" .
|
||||
"<ul class='nav'>";
|
||||
|
||||
foreach($matches as $m) {
|
||||
$out .= "<li><p><a href='{$m->url}'>{$m->title}</a><br />{$m->summary}</p></li>";
|
||||
}
|
||||
|
||||
$out .= "</ul>";
|
||||
|
||||
} else {
|
||||
$out .= "<h2>Sorry, no results were found.</h2>";
|
||||
}
|
||||
} else {
|
||||
$out .= "<h2>Please enter a search term in the search box (upper right corner)</h2>";
|
||||
}
|
||||
|
||||
// Note that we stored our output in $out before printing it because we wanted to execute
|
||||
// the search before including the header template. This is because the header template
|
||||
// displays the current search query in the search box (via the $input->whitelist) and
|
||||
// we wanted to make sure we had that setup before including the header template.
|
||||
|
||||
include("./head.inc");
|
||||
|
||||
echo $out;
|
||||
|
||||
include("./foot.inc");
|
@@ -1,28 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Site map template
|
||||
*
|
||||
*/
|
||||
|
||||
include("./head.inc");
|
||||
|
||||
function sitemapListPage($page) {
|
||||
|
||||
echo "<li><a href='{$page->url}'>{$page->title}</a> ";
|
||||
|
||||
if($page->numChildren) {
|
||||
echo "<ul>";
|
||||
foreach($page->children as $child) sitemapListPage($child);
|
||||
echo "</ul>";
|
||||
}
|
||||
|
||||
echo "</li>";
|
||||
}
|
||||
|
||||
echo "<ul class='sitemap'>";
|
||||
sitemapListPage($pages->get("/"));
|
||||
echo "</ul>";
|
||||
|
||||
include("./foot.inc");
|
||||
|
@@ -1,5 +0,0 @@
|
||||
#bgtitle {
|
||||
/* This doesn't render well in IE (any version), so we just exclude it. */
|
||||
display: none;
|
||||
}
|
||||
|
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 91 B |
@@ -1,546 +0,0 @@
|
||||
@import url(reset.css);
|
||||
|
||||
/**
|
||||
* ProcesssWire.com site template stylesheet. Prepared for use in the basic site profile.
|
||||
*
|
||||
* Please feel free to use and/or modify under the same license as ProcessWire.
|
||||
*
|
||||
* Copyright 2010 by Ryan Cramer Design, LLC
|
||||
*
|
||||
*/
|
||||
|
||||
body {
|
||||
background: #e4ebee url(images/bg.gif) repeat-x;
|
||||
}
|
||||
|
||||
body, input, textarea, table {
|
||||
font-family: Georgia, "Times New Roman", Times, serif;
|
||||
font-size: 14px;
|
||||
color: #2f4248;
|
||||
}
|
||||
|
||||
#masthead,
|
||||
#content,
|
||||
#footer {
|
||||
padding-right: 20px;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
.container {
|
||||
position: relative;
|
||||
width: 85%;
|
||||
min-width: 920px;
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#masthead {
|
||||
background: none;
|
||||
height: 210px;
|
||||
}
|
||||
|
||||
#logo {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 44px;
|
||||
background: url(images/logo.gif);
|
||||
width: 179px;
|
||||
height: 25px;
|
||||
text-indent: -9999px;
|
||||
}
|
||||
|
||||
#title {
|
||||
font-size: 37px;
|
||||
color: #003051;
|
||||
position: absolute;
|
||||
top: 155px;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
#bgtitle {
|
||||
position: absolute;
|
||||
top: 62px;
|
||||
left: 0;
|
||||
font-size: 162px;
|
||||
color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
|
||||
#topnav {
|
||||
position: absolute;
|
||||
right: 250px;
|
||||
top: 3px;
|
||||
}
|
||||
|
||||
#topnav li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#topnav a,
|
||||
#sidebar ul.nav a,
|
||||
#breadcrumb a,
|
||||
a.nav {
|
||||
font-family: "Helvetica Neue", Arial, sans-serif;
|
||||
font-size: 11px;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
color: #a7e5f9;
|
||||
}
|
||||
|
||||
#topnav a {
|
||||
display: block;
|
||||
float: left;
|
||||
margin: 0 0 0 1px;
|
||||
padding: 48px 10px 20px 10px;
|
||||
}
|
||||
|
||||
#topnav a:hover,
|
||||
#topnav a.on {
|
||||
color: #fff;
|
||||
background: url(images/topnav_a_bg.gif) top left repeat-x;
|
||||
}
|
||||
|
||||
#breadcrumb {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 97px;
|
||||
}
|
||||
#breadcrumb li {
|
||||
color: #5197ae;
|
||||
font-size: 11px;
|
||||
display: inline;
|
||||
padding: 0 2px 0 0;
|
||||
|
||||
}
|
||||
#breadcrumb a {
|
||||
color: #005f7d;
|
||||
padding: 0 2px 0 0;
|
||||
}
|
||||
#breadcrumb a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#search_form { }
|
||||
|
||||
#search_query {
|
||||
position: absolute;
|
||||
top: 7px;
|
||||
right: 0;
|
||||
width: 222px;
|
||||
padding: 2px 5px;
|
||||
height: 17px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#search_submit {
|
||||
position: absolute;
|
||||
top: 7px;
|
||||
right: 0;
|
||||
border: none;
|
||||
background: url(images/btn-search.png) top left no-repeat;
|
||||
width: 27px;
|
||||
height: 21px;
|
||||
text-indent: -9999px;
|
||||
}
|
||||
#search_submit:hover {
|
||||
background-position: center left;
|
||||
cursor: pointer;
|
||||
}
|
||||
#search_submit:focus {
|
||||
background-position: bottom left;
|
||||
}
|
||||
|
||||
#masthead #photo {
|
||||
position: absolute;
|
||||
top: 34px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
|
||||
#content {
|
||||
background: #f8f8f8;
|
||||
font-size: 14px;
|
||||
line-height: 1.7em;
|
||||
color: #333;
|
||||
padding-top: 0;
|
||||
padding-bottom: 4em;
|
||||
min-height: 400px;
|
||||
|
||||
}
|
||||
#content p,
|
||||
#content ul,
|
||||
#content ol,
|
||||
#content table {
|
||||
margin: 1em 0 1.5em 0;
|
||||
}
|
||||
|
||||
#content a {
|
||||
color: #f00076;
|
||||
}
|
||||
#content a:hover {
|
||||
background-color: #f00076;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#content em {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
#content strong {
|
||||
font-family: "Helvetica Neue", Arial, sans-serif;
|
||||
font-weight: bold;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
#content h2,
|
||||
#content h3,
|
||||
#content h4 {
|
||||
margin-top: 1.5em;
|
||||
line-height: 1.3em;
|
||||
}
|
||||
|
||||
#content h2 {
|
||||
color: #006fbb;
|
||||
font-size: 23px;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
#content h3 {
|
||||
color: #690033;
|
||||
font-size: 18px;
|
||||
border-bottom: 1px dotted #ccc;
|
||||
margin-bottom: -0.5em;
|
||||
padding-bottom: 0.25em;
|
||||
}
|
||||
#content h2 + h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
#content h3 + ul,
|
||||
#content h3 + ol {
|
||||
margin-top: 1.5em;
|
||||
}
|
||||
|
||||
#content h4 {
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
#content ol li {
|
||||
margin: 0 0 0 3em;
|
||||
}
|
||||
|
||||
#content ul li {
|
||||
margin: 0 0 0 3em;
|
||||
display: list-item;
|
||||
list-style: disc;
|
||||
}
|
||||
|
||||
#content ol li {
|
||||
margin: 0 0 0 3em;
|
||||
display: list-item;
|
||||
list-style: decimal;
|
||||
}
|
||||
|
||||
#content ul.nav { }
|
||||
|
||||
#content ul.nav li {
|
||||
display: block;
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
border-bottom: 1px dotted #ccc;
|
||||
}
|
||||
#content ul.nav li a {
|
||||
font-family: "Helvetica Neue", Arial, sans-serif;
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#content ul.nav li p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
#content .disclaimer {
|
||||
font-size: 11px;
|
||||
line-height: 17px;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#sidebar {
|
||||
position: relative;
|
||||
float: right;
|
||||
width: 232px;
|
||||
min-height: 200px;
|
||||
padding-bottom: 2em;
|
||||
}
|
||||
#sidebar h3 {
|
||||
border: none;
|
||||
color: #006fbb;
|
||||
font-size: 16px;
|
||||
}
|
||||
#sidebar h3 + ul.nav {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
#sidebar #photo {
|
||||
display: block;
|
||||
}
|
||||
|
||||
#sidebar ul.nav {
|
||||
margin: 0 0 1em 0;
|
||||
}
|
||||
#sidebar ul.nav li {
|
||||
margin: 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#sidebar ul.nav a {
|
||||
display: block;
|
||||
padding: 8px 10px 8px 15px;
|
||||
color: #005f7d;
|
||||
background: #d5e5eb;
|
||||
border-top: 1px solid #fff;
|
||||
}
|
||||
#sidebar ul.nav a:hover,
|
||||
#sidebar ul.nav a.on {
|
||||
background: #db1174;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#sidebar .sidebar_item {
|
||||
padding: 0 5px 0 14px;
|
||||
margin: 0 0 2em 0;
|
||||
border-left: 1px dotted #ccc;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#bodycopy {
|
||||
padding-right: 265px;
|
||||
padding-top: 1px;
|
||||
margin-top: 0;
|
||||
|
||||
}
|
||||
#bodycopy strong {
|
||||
color: #444;
|
||||
}
|
||||
|
||||
#content #bodycopy > h2:first-child {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
#bodycopy .video {
|
||||
margin: 1em 0;
|
||||
background: #000;
|
||||
padding: 10px;
|
||||
padding-bottom: 3px;
|
||||
width: 640px;
|
||||
}
|
||||
|
||||
|
||||
#footer {
|
||||
clear: both;
|
||||
border: none;
|
||||
font-size: 11px;
|
||||
padding: 2em 0;
|
||||
}
|
||||
#footer p,
|
||||
#footer a {
|
||||
color: #85aaba;
|
||||
}
|
||||
|
||||
#footer p {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#footer a:hover {
|
||||
text-decoration: underline;
|
||||
color: #db1174;
|
||||
}
|
||||
|
||||
/**
|
||||
* The edit link that appears when you are logged in.
|
||||
* It is recommended that you implement an edit button
|
||||
* in your templates to make it easy to switch to and
|
||||
* from the admin control panel when editing pages.
|
||||
*
|
||||
*/
|
||||
#editpage {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding: 5px 6px;
|
||||
background: #db1174;
|
||||
color: #fff;
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
}
|
||||
#editpage:hover {
|
||||
background: #ffffcc;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Alignment styles that are used by the InputfieldTinyMCE for
|
||||
* positioning images in bodycopy. If you are using this field type,
|
||||
* you may want to include these or similar styles in your site.
|
||||
*
|
||||
*/
|
||||
.align_left {
|
||||
float: left;
|
||||
margin: 0 1em 0.25em 0;
|
||||
}
|
||||
|
||||
.align_right {
|
||||
float: right;
|
||||
margin: 0 0 0.25em 1em;
|
||||
}
|
||||
|
||||
.align_center {
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* Optional CSS classes specific to the FieldtypeComments module
|
||||
* when used in this site design template.
|
||||
*
|
||||
*/
|
||||
|
||||
#content .CommentList {
|
||||
margin: 1em 0 0 0;
|
||||
}
|
||||
|
||||
#content .CommentListItem {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
border-left: 5px solid #ddd;
|
||||
border-top: 1px dotted #ccc;
|
||||
padding: 1em 0 1px 1em;
|
||||
background: #fff;
|
||||
|
||||
}
|
||||
#content .CommentListItem p {
|
||||
margin-top: 0;
|
||||
}
|
||||
#content .CommentHeader,
|
||||
#CommentForm label {
|
||||
margin: 0;
|
||||
font-weight: bold;
|
||||
font-size: 11px;
|
||||
text-transform: uppercase;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
color: #3786bc;
|
||||
}
|
||||
#content .CommentText {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
#CommentForm { }
|
||||
|
||||
#CommentForm h3 {
|
||||
margin: 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
#CommentForm label {
|
||||
display: block;
|
||||
color: #f00076;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
#CommentForm p {
|
||||
margin: 0.5em 0;
|
||||
}
|
||||
|
||||
.CommentForm_cite,
|
||||
.CommentForm_email {
|
||||
float: left;
|
||||
}
|
||||
.CommentForm_cite input,
|
||||
.CommentForm_email input {
|
||||
width: 200px;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
.CommentForm_text {
|
||||
clear: left;
|
||||
}
|
||||
.CommentForm_text textarea {
|
||||
padding: 2px;
|
||||
width: 75%;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
#CommentForm .error {
|
||||
background: #a30000;
|
||||
color: #fff;
|
||||
padding: 0.25em 0.5em;
|
||||
}
|
||||
#CommentForm .success {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* WireFatalError is a class that ProcessWire will use to output
|
||||
* fatal errors in the design, but only if debug mode is on, or if
|
||||
* you are logged in as a superuser.
|
||||
*
|
||||
*/
|
||||
.WireFatalError {
|
||||
background: #a30000;
|
||||
color: #fff;
|
||||
padding: 1em;
|
||||
position: relative;
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
/*********************************************************************
|
||||
* 6. Accessibility helpers
|
||||
*
|
||||
*/
|
||||
|
||||
/* Hide visually, but remain approachable for screenreader */
|
||||
|
||||
.visually-hidden {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
clip: rect(1px, 1px, 1px, 1px);
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/* Show bypass link on hover */
|
||||
|
||||
.element-focusable:focus {
|
||||
clip: auto;
|
||||
overflow: visible;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* Sample styling for bypass link */
|
||||
|
||||
.bypass-to-main:focus {
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 10;
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
background: #333;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
@@ -1,50 +0,0 @@
|
||||
/**
|
||||
* Reset stylesheet to normalize styles across browsers
|
||||
*
|
||||
*/
|
||||
|
||||
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,label,input,textarea,p,blockquote,th,td {
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse:collapse;
|
||||
border-spacing:0;
|
||||
}
|
||||
|
||||
fieldset,img {
|
||||
border:0;
|
||||
}
|
||||
|
||||
address,caption,cite,code,dfn,em,strong,th,var {
|
||||
font-style:normal;
|
||||
font-weight:normal;
|
||||
}
|
||||
|
||||
ol,ul,li {
|
||||
list-style:none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
caption,th {
|
||||
text-align:left;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
font-size:100%;
|
||||
font-weight:normal;
|
||||
}
|
||||
|
||||
q:before,q:after {
|
||||
content:'';
|
||||
}
|
||||
|
||||
abbr,acronym {
|
||||
border:0;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|