-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathown_category_tree.txt
85 lines (83 loc) · 5.77 KB
/
own_category_tree.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# own_category_tree v4.6.2.20161213
# Creates a hierarchical list of categories
# Dmitry Shovchko
# http://github.com/dshovchko/own_category_tree
# ......................................................................
# This is a plugin for Textpattern - http://textpattern.com/
# To install: textpattern > admin > plugins
# Paste the following text into the 'Install plugin' box:
# ......................................................................
YToxMDp7czo3OiJ2ZXJzaW9uIjtzOjE0OiI0LjYuMi4yMDE2MTIxMyI7czo2OiJhdXRob3Ii
O3M6MTU6IkRtaXRyeSBTaG92Y2hrbyI7czoxMDoiYXV0aG9yX3VyaSI7czo0NToiaHR0cDov
L2dpdGh1Yi5jb20vZHNob3ZjaGtvL293bl9jYXRlZ29yeV90cmVlIjtzOjExOiJkZXNjcmlw
dGlvbiI7czo0MToiQ3JlYXRlcyBhIGhpZXJhcmNoaWNhbCBsaXN0IG9mIGNhdGVnb3JpZXMi
O3M6NDoidHlwZSI7aToxO3M6NToiZmxhZ3MiO3M6MToiMCI7czo0OiJuYW1lIjtzOjE3OiJv
d25fY2F0ZWdvcnlfdHJlZSI7czo0OiJoZWxwIjtzOjA6IiI7czo0OiJjb2RlIjtzOjM2MDM6
IgojIyMgVEFHIFJFR0lTVFJBVElPTiAjIyMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpU
eHA6OmdldCgnXFRleHRwYXR0ZXJuXFRhZ1xSZWdpc3RyeScpCiAtPnJlZ2lzdGVyKCdvd25f
Y2F0ZWdvcnlfdHJlZScpOwoKCiMjIyBQUklNQVJZIFRBRyBGVU5DVElPTlMgIyMjCiMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpmdW5jdGlvbiBvd25fY2F0ZWdvcnlfdHJlZSgk
YXR0cykgewoJZ2xvYmFsICRwcmV0ZXh0OwoKCWV4dHJhY3QobEF0dHMoYXJyYXkoCgkJJ3N0
YXJ0JwkJPT4gJ3Jvb3QnLAoJCSdzZWN0aW9uJwk9PiAwLAoJCSd0eXBlJwkJPT4gJ2FydGlj
bGUnLAoJCSdjc3NpZCcJCT0+ICcnLAoJCSdvbmNsYXNzJwk9PiAnJywKCQknd3JhcHRhZycJ
PT4gJ3VsJywKCQknYnJlYWsnCQk9PiAnbGknLAoJCSdsb2NhbGUnCT0+ICcnLAoJKSwkYXR0
cykpOwoKCWlmICgkc3RhcnQgPT0gJyonKSAkc3RhcnQgPSAkcHJldGV4dFsnYyddID8gJHBy
ZXRleHRbJ2MnXSA6ICdyb290JzsKCWlmICgkc3RhcnQgPT0gJypzJykgJHN0YXJ0ID0gJEdM
T0JBTFNbJ3MnXTsKCWlmICgkc2VjdGlvbiA9PSAnKicpICRzZWN0aW9uID0gJEdMT0JBTFNb
J3MnXTsKCWlmICgkd3JhcHRhZyA9PSAnICcpICR3cmFwdGFnID0gJyc7CglpZiAoJGJyZWFr
ID09ICcgJykgJGJyZWFrID0gJyc7CgoJJHZhcnMgPSBjb21wYWN0KCdzdGFydCcsJ3NlY3Rp
b24nLCd0eXBlJywnY3NzaWQnLCdvbmNsYXNzJywnd3JhcHRhZycsJ2JyZWFrJyk7CgoJaWYg
KCRsb2NhbGUpIHsKCQlzZXRsb2NhbGUoTENfQUxMLCAkbG9jYWxlKTsKCX0KCgkkbCA9IG93
bl9jYXRlZ29yeV90cmVlX2dldF9saXN0KCR0eXBlKTsKCSRyID0gb3duX2NhdGVnb3J5X3Ry
ZWVfbWFrZV90cmVlKCRsLCAkdmFycyk7CgoJcmV0dXJuICRyOwp9CgpmdW5jdGlvbiBvd25f
Y2F0ZWdvcnlfdHJlZV9tYWtlX3RyZWUoJGxpc3QsICR2YXJzKSB7CglnbG9iYWwgJHByZXRl
eHQ7CgoJJGNhdGVnb3JpZXMgPSBhcnJheSgpOwoJaWYgKGludHZhbCgkcHJldGV4dFsnaWQn
XSkgPT0gMCkgewoJCSRjYXRlZ29yaWVzW10gPSAkcHJldGV4dFsnYyddOwoJfSBlbHNlIHsK
CQlnbG9iYWwgJHRoaXNhcnRpY2xlOwoKCQkkY2F0ZWdvcmllc1tdID0gJHRoaXNhcnRpY2xl
WydjYXRlZ29yeTEnXTsKCQkkY2F0ZWdvcmllc1tdID0gJHRoaXNhcnRpY2xlWydjYXRlZ29y
eTInXTsKCX0KCgkkdCA9IG93bl9jYXRlZ29yeV90cmVlX2dldF9icmFuY2goJGxpc3QsICR2
YXJzWydzdGFydCddKTsKCSRsID0gMDsKCglyZXR1cm4gb3duX2NhdGVnb3J5X3RyZWVfbWFr
ZV9zdWJ0cmVlKCR0LCAkY2F0ZWdvcmllcywgJGwsICR2YXJzKTsKfQoKZnVuY3Rpb24gb3du
X2NhdGVnb3J5X3RyZWVfZ2V0X2JyYW5jaCgkbGlzdCwgJGZyb20pIHsKCSRyID0gJyc7CgoJ
JGEgPSBhcnJheSgpOwoJZm9yZWFjaCgkbGlzdCBhcyAkdikgewoJCWlmICgkdlsncGFyZW50
J10gPT0gJGZyb20pIHsKCQkJJGFbJHZbJ25hbWUnXV0gPSAkdlsndGl0bGUnXTsKCQl9Cgl9
CgoJYXNvcnQoJGEsIFNPUlRfTE9DQUxFX1NUUklORyk7CgoJJHMgPSBhcnJheSgpOwoJZm9y
ZWFjaCgkYSBhcyAkbmFtZT0+JHRpdGxlKSB7CgkJZm9yZWFjaCgkbGlzdCBhcyAkdikgewoJ
CQlpZiAoJHZbJ25hbWUnXSA9PSAkbmFtZSkgewoJCQkJJHZbJ2NoaWxkcmVuJ10gPSBvd25f
Y2F0ZWdvcnlfdHJlZV9nZXRfYnJhbmNoKCRsaXN0LCAkbmFtZSk7CgkJCQkkc1tdID0gJHY7
CgkJCX0KCQl9Cgl9CgoJcmV0dXJuICRzOwp9CgpmdW5jdGlvbiBvd25fY2F0ZWdvcnlfdHJl
ZV9jaGVja19zdWJ0cmVlKCRsaXN0LCAkY2F0ZWdvcmllcykgewoKCSRsID0gMDsKCWZvcmVh
Y2goJGxpc3QgYXMgJHYpIHsKCQlpZiAoaW5fYXJyYXkoJHZbJ25hbWUnXSwgJGNhdGVnb3Jp
ZXMpKSB7CgkJCSRsKys7CgkJfQoJCSRsICs9IG93bl9jYXRlZ29yeV90cmVlX2NoZWNrX3N1
YnRyZWUoJHZbJ2NoaWxkcmVuJ10sICRjYXRlZ29yaWVzKTsKCX0KCglyZXR1cm4gJGw7Cn0K
CmZ1bmN0aW9uIG93bl9jYXRlZ29yeV90cmVlX21ha2Vfc3VidHJlZSgkbGlzdCwgJGNhdGVn
b3JpZXMsICRsLCAkdmFycykgewoKCSRyID0gJyc7Cglmb3JlYWNoKCRsaXN0IGFzICR2KSB7
CgkJJHJjID0gJyc7CgkJaWYgKG93bl9jYXRlZ29yeV90cmVlX2NoZWNrX3N1YnRyZWUoJHZb
J2NoaWxkcmVuJ10sICRjYXRlZ29yaWVzKSA+IDAgfHwgaW5fYXJyYXkoJHZbJ25hbWUnXSwk
Y2F0ZWdvcmllcykpIHsKCQkJJHJjID0gb3duX2NhdGVnb3J5X3RyZWVfbWFrZV9zdWJ0cmVl
KCR2WydjaGlsZHJlbiddLCAkY2F0ZWdvcmllcywgJGwrMSwgJHZhcnMpOwoJCX0KCQkkY2xh
c3MgPSAkdmFyc1snb25jbGFzcyddICYmIGluX2FycmF5KCR2WyduYW1lJ10sJGNhdGVnb3Jp
ZXMpID8gJHZhcnNbJ29uY2xhc3MnXSA6ICcnOwoJCSRsaW5rID0gb3duX2NhdGVnb3J5X3Ry
ZWVfbGluaygkdlsnbmFtZSddLCAkdmFyc1snc2VjdGlvbiddLCAkdlsndGl0bGUnXSk7CgkJ
JGJyZWFrID0gJHZhcnNbJ2JyZWFrJ107CgkJaWYgKCRicmVhayA9PSAnYnInIHx8ICRicmVh
ayA9PSAnaHInKSB7CgkJCSRyIC49IG93bl9jYXRlZ29yeV90cmVlX3RhYigkbCkuam9pbihk
b1RhZygnJywgJGJyZWFrKSwgYXJyYXkoJGxpbmssICRyYykpOwoJCX0gZWxzZSB7CgkJCSRy
IC49IG93bl9jYXRlZ29yeV90cmVlX3RhYigkbCkuZG9XcmFwKGFycmF5KCRsaW5rLCAkcmMp
LCAkYnJlYWssICcnLCAkY2xhc3MpOwoJCX0KCX0KCgkkYXR0cyA9ICgkdmFyc1snY3NzaWQn
XSAmJiAkbCA9PSAwKT8nIGlkPSInLiR2YXJzWydjc3NpZCddLiciJzonJzsKCglyZXR1cm4g
b3duX2NhdGVnb3J5X3RyZWVfdGFiKCRsKS5kb1dyYXAoYXJyYXkoJHIpLCAkdmFyc1snd3Jh
cHRhZyddLCAnJywgJycsICcnLCAkYXR0cyk7Cn0KCmZ1bmN0aW9uIG93bl9jYXRlZ29yeV90
cmVlX2dldF9saXN0KCR0eXBlKSB7CglnbG9iYWwgJG93bl9jYXRlZ29yeV90cmVlX2NhY2hl
OwoKCWlmICghaXNzZXQoJG93bl9jYXRlZ29yeV90cmVlX2NhY2hlKSl7CgkJJG93bl9jYXRl
Z29yeV90cmVlX2NhY2hlID0gYXJyYXkoKTsKCX0KCglpZiAoIWlzc2V0KCRvd25fY2F0ZWdv
cnlfdHJlZV9jYWNoZVskdHlwZV0pKSB7CgkJJHIgPSBzYWZlX3Jvd3MoIm5hbWUscGFyZW50
LHRpdGxlIiwgInR4cF9jYXRlZ29yeSIsICJ0eXBlPSckdHlwZScgb3JkZXIgYnkgaWQgYXNj
Iik7CgkJJG93bl9jYXRlZ29yeV90cmVlX2NhY2hlWyR0eXBlXSA9ICRyOwoJfSBlbHNlIHsK
CQkkciA9ICRvd25fY2F0ZWdvcnlfdHJlZV9jYWNoZVskdHlwZV07Cgl9CgoJcmV0dXJuICRy
Owp9CgpmdW5jdGlvbiBvd25fY2F0ZWdvcnlfdHJlZV9saW5rKCRjYXRlZ29yeSwgJHNlY3Rp
b24sICR0aXRsZSkKewoJJGNhdF9saW5rID0gcGFnZWxpbmt1cmwoYXJyYXkoJ2MnPT4kY2F0
ZWdvcnksICdzJz0+JHNlY3Rpb24pKTsKCglyZXR1cm4gdGFnKGh0bWxzcGVjaWFsY2hhcnMo
JHRpdGxlKSwgJ2EnLCAnIGhyZWY9IicuJGNhdF9saW5rLiciIHRpdGxlPSInLmh0bWxzcGVj
aWFsY2hhcnMoJHRpdGxlKS4nIicpOwp9CgpmdW5jdGlvbiBvd25fY2F0ZWdvcnlfdHJlZV90
YWIoJGwpIHsKCXJldHVybiBzdHJfcmVwZWF0KCJcdCIsICRsKTsKfSI7czozOiJtZDUiO3M6
MzI6ImU0NjM0NTFlN2I5MGZjZGRhYWEwOTcwZjM5NTA0OTkwIjt9