Textpattern CMS support forum

You are not logged in. Register | Login | Help

#41 2017-11-23 13:31:44

etc
Developer
Registered: 2010-11-11
Posts: 2,949
Website

Re: [feedback] Image upload directly in the write tab

Hello,

it’s been a long time, but AFAIR there is no limitation in the plugin itself. The browser and/or the server can limit the number of simultaneously uploaded files, though, but I don’t know how to fix it, sorry.


etc_[ query | search | pagination | date | tree | cache ]

Offline

#42 2017-11-23 15:43:04

momono-02
New Member
From: Netherlands
Registered: 2016-06-09
Posts: 4
Website

Re: [feedback] Image upload directly in the write tab

Thanks man! I already persuaded my client to limit the amount of photos to upload 😃
He was kind of eager to upload as much photos as possible.

Offline

#43 2018-11-04 20:39:47

etc
Developer
Registered: 2010-11-11
Posts: 2,949
Website

Re: [feedback] Image upload directly in the write tab

I have slightly modified abc_article_image to enable drag-drop uploaded article images on textareas support. Nothing fancy, just allows you to insert <txp:image /> tag at the drop cursor position. Requires txp 4.7.

# Name: abc_article_image v0.5 
# Type: Admin/AJAX plugin
# 
# Author: 
# URL: 
# Recommended load order: 5

# .....................................................................
# This is a plugin for Textpattern CMS - http://textpattern.com/
# To install: textpattern > admin > plugins
# Paste the following text into the 'Install plugin' box:
# .....................................................................

YToxMTp7czo0OiJuYW1lIjtzOjE3OiJhYmNfYXJ0aWNsZV9pbWFnZSI7czo2OiJhdXRob3Ii
O3M6MDoiIjtzOjEwOiJhdXRob3JfdXJpIjtzOjA6IiI7czo3OiJ2ZXJzaW9uIjtzOjM6IjAu
NSI7czoxMToiZGVzY3JpcHRpb24iO3M6MDoiIjtzOjQ6ImNvZGUiO3M6NjIzNzoiZ2xvYmFs
ICRldmVudDsNCg0KaWYoJGV2ZW50ID09ICdhcnRpY2xlJyAmJiBoYXNfcHJpdnMoJ2ltYWdl
LmVkaXQub3duJykpDQp7DQoJcmVnaXN0ZXJfY2FsbGJhY2soJ2FiY19maWxlX3VwbG9hZCcs
ICdhcnRpY2xlX3VpJywgJ2FydGljbGVfaW1hZ2UnKTsNCglyZWdpc3Rlcl9jYWxsYmFjaygn
YWJjX2ZpbGVfc2F2ZScsICdhcnRpY2xlX3Bvc3RlZCcpOw0KCXJlZ2lzdGVyX2NhbGxiYWNr
KCdhYmNfZmlsZV9zYXZlJywgJ2FydGljbGVfc2F2ZWQnKTsNCglyZWdpc3Rlcl9jYWxsYmFj
aygnYWJjX2ZpbGVfanMnLCAnYWRtaW5fc2lkZScsICdib2R5X2VuZCcpOw0KfQ0KDQpmdW5j
dGlvbiBhYmNfZmlsZV9qcygkZXZlbnQsICRzdGVwKSB7DQplY2hvIHNjcmlwdF9qcygnDQok
KCIjdHhwLWltYWdlLWdyb3VwLWNvbnRlbnQiKS5vbigiY2xpY2siLCAiI2FydGljbGUtZmls
ZS1yZXNldCIsIGZ1bmN0aW9uKGUpIHsNCgllLnByZXZlbnREZWZhdWx0KCk7DQoJJCgiI2Fy
dGljbGUtZmlsZS1pbnB1dCIpLnZhbCgiIik7DQoJJCgiI2FydGljbGUtZmlsZS1wcmV2aWV3
IikuZW1wdHkoKTsNCgkkKCIjYXJ0aWNsZS1maWxlLXJlc2V0IikuY3NzKCJ2aXNpYmlsaXR5
IiwgImhpZGRlbiIpOw0KfSkub24oImNsaWNrIiwgIi5zb3J0YWJsZSAuZGVzdHJveSIsIGZ1
bmN0aW9uKGUpIHsNCgllLnByZXZlbnREZWZhdWx0KCk7DQoJJCh0aGlzKS5wYXJlbnQoKS5y
ZW1vdmVDbGFzcygic29ydGFibGUiKS5hcHBlbmRUbygiI2FydGljbGUtZmlsZS1zZWxlY3Qi
KTsNCgkkKCIjdHhwLWltYWdlLWdyb3VwLWNvbnRlbnQiKS50cmlnZ2VyKCJzb3J0dXBkYXRl
Iikuc29ydGFibGUoInJlZnJlc2giKTsNCn0pLm9uKCJjbGljayIsICIjYXJ0aWNsZS1maWxl
LWFkZCIsIGZ1bmN0aW9uKGUpIHsNCgllLnByZXZlbnREZWZhdWx0KCk7DQoJJCgiI2FydGlj
bGUtZmlsZS1zZWxlY3QiKS50b2dnbGVDbGFzcygiaGlkZGVuIik7DQp9KS5vbigiZHJhZ3N0
YXJ0IiwgIiNhcnRpY2xlLWZpbGUtY29udGFpbmVyIGEsICNhcnRpY2xlLWZpbGUtc2VsZWN0
IGEiLCBmdW5jdGlvbihlKSB7DQoJZS5vcmlnaW5hbEV2ZW50LmRhdGFUcmFuc2Zlci5zZXRE
YXRhKCJ0ZXh0L3BsYWluIiwgZS5vcmlnaW5hbEV2ZW50LnRhcmdldC50aXRsZSk7DQp9KS5v
bigic29ydHVwZGF0ZSIsIGZ1bmN0aW9uKCBldmVudCApIHsNCgl2YXIgJGNvbnRhaW5lciA9
ICQoIiNhcnRpY2xlLWZpbGUtY29udGFpbmVyIiksIGxpc3QgPSBbXTsNCgkkY29udGFpbmVy
LmNoaWxkcmVuKCJwIikubm90KCIuZGVsZXRlZCIpLmVhY2goZnVuY3Rpb24oKSB7DQoJCWxp
c3QucHVzaCgkKHRoaXMpLmRhdGEoImlkIikpOw0KCX0pOw0KCSQoIiNhcnRpY2xlLWltYWdl
IikudmFsKGxpc3Quam9pbigpKTsNCn0pLm9uKCJjbGljayIsICIjYXJ0aWNsZS1maWxlLXNl
bGVjdCBhIiwgZnVuY3Rpb24oZSkgew0KCWUucHJldmVudERlZmF1bHQoKTsNCgkkKHRoaXMp
LnBhcmVudCgpLmFkZENsYXNzKCJzb3J0YWJsZSIpLmFwcGVuZFRvKCIjYXJ0aWNsZS1maWxl
LWNvbnRhaW5lciIpOw0KCSQoIiN0eHAtaW1hZ2UtZ3JvdXAtY29udGVudCIpLnRyaWdnZXIo
InNvcnR1cGRhdGUiKS5zb3J0YWJsZSgicmVmcmVzaCIpOw0KfSk7DQoNCiQoIiN0eHAtaW1h
Z2UtZ3JvdXAtY29udGVudCIpLm9uKCJkcmFnZW5kIiwgIiNhcnRpY2xlLWZpbGUtY29udGFp
bmVyIGEiLCBmdW5jdGlvbihlKSB7DQoJJCgiI3R4cC1pbWFnZS1ncm91cC1jb250ZW50Iiku
c29ydGFibGUoImVuYWJsZSIpOw0KfSkuc29ydGFibGUoew0KCWl0ZW1zOiAiLnNvcnRhYmxl
IiwNCglvdXQ6IGZ1bmN0aW9uIChldmVudCwgdWkpIHsNCgkJaWYgKCEhZHJvcHBlZE91dHNp
ZGUpICQodGhpcykuc29ydGFibGUoImRpc2FibGUiKTsNCgl9LA0KCW92ZXI6IGZ1bmN0aW9u
IChldmVudCwgdWkpIHsNCgkJJCh0aGlzKS5zb3J0YWJsZSgiZW5hYmxlIik7DQoJfSwNCgli
ZWZvcmVTdG9wOiBmdW5jdGlvbiAoZXZlbnQsIHVpKSB7ZHJvcHBlZE91dHNpZGUgPSBmYWxz
ZTsNCgl9LA0KCXN0YXJ0OiBmdW5jdGlvbiAoZXZlbnQsIHVpKSB7ZHJvcHBlZE91dHNpZGUg
PSB0cnVlOw0KCX0NCn0pOw0KDQp3aW5kb3cuYWJjUHJldmlldyA9IGZ1bmN0aW9uIChpbnB1
dCkgew0KCXZhciBjcmVhdGVPYmplY3RVUkwgPSAod2luZG93LlVSTCB8fCB3aW5kb3cud2Vi
a2l0VVJMIHx8IHt9KS5jcmVhdGVPYmplY3RVUkwNCg0KCWlmIChjcmVhdGVPYmplY3RVUkwg
JiYgaW5wdXQuZmlsZXMubGVuZ3RoKSB7DQoJCSQoIiNhcnRpY2xlLWZpbGUtcHJldmlldyIp
LmVtcHR5KCk7DQoJCSQoIiNhcnRpY2xlLWZpbGUtcmVzZXQiKS5jc3MoInZpc2liaWxpdHki
LCAidmlzaWJsZSIpOw0KCQkkKGlucHV0LmZpbGVzKS5lYWNoKGZ1bmN0aW9uICgpIHsNCgkJ
CSQoIiNhcnRpY2xlLWZpbGUtcHJldmlldyIpLmFwcGVuZCgiPHA+PGltZyBzcmM9XCciICsg
Y3JlYXRlT2JqZWN0VVJMKHRoaXMpICsgIlwnIC8+PC9wPiIpOw0KCQl9KTsNCgl9DQp9Jyku
bg0KLic8c3R5bGU+DQoJI3R4cC1pbWFnZS1ncm91cC1jb250ZW50IGltZ3ttYXgtd2lkdGg6
MTAwJTtoZWlnaHQ6YXV0b30NCgkjdHhwLWltYWdlLWdyb3VwLWNvbnRlbnQgLmRlbGV0ZWR7
b3BhY2l0eTowLjI1fQ0KCSN0eHAtaW1hZ2UtZ3JvdXAtY29udGVudCAuc29ydGFibGV7cG9z
aXRpb246cmVsYXRpdmV9DQoJI3R4cC1pbWFnZS1ncm91cC1jb250ZW50IC5kZXN0cm95e3Bv
c2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDoxMDA7dmlzaWJpbGl0eTpoaWRkZW59
DQoJI3R4cC1pbWFnZS1ncm91cC1jb250ZW50IC5zb3J0YWJsZSAuZGVzdHJveXt2aXNpYmls
aXR5OnZpc2libGV9DQoJI2FydGljbGUtZmlsZS1yZXNldHt2aXNpYmlsaXR5OmhpZGRlbn0N
CgkuaGlkZGVue2Rpc3BsYXk6bm9uZX0NCgkjYXJ0aWNsZS1maWxlLWlucHV0e2hlaWdodDog
MTAwJTsgd2lkdGg6IDEwMCU7IHotaW5kZXg6IDUwOyBwb3NpdGlvbjogYWJzb2x1dGU7IG9w
YWNpdHk6IDB9DQoJI2FydGljbGUtZmlsZS1kcm9wPmRpdi50eHAtZm9ybS1maWVsZC12YWx1
ZXtwb3NpdGlvbjogcmVsYXRpdmU7IGJhY2tncm91bmQ6IHdoaXRlOyBvdXRsaW5lOiAxcHgg
c29saWQgI2UzZTNlMzsgbWluLWhlaWdodDogNWV4fQ0KCSNtYWluX2NvbnRlbnR7cG9zaXRp
b246c3RpY2t5O3RvcDowfQ0KPC9zdHlsZT4nOw0KfQ0KDQpmdW5jdGlvbiBhYmNfZmlsZV91
cGxvYWQoJGV2ZW50LCAkc3RlcCwgJGRhdGEsICRycykNCnsNCgkkaWRzID0gJGltYWdlcyA9
IGFycmF5KCk7DQoJaWYgKCFlbXB0eSgkcnNbJ0ltYWdlJ10pKQ0KCXsNCgkJJGltYWdlcyA9
IGFycmF5KCk7DQoJCWZvcmVhY2ggKGRvX2xpc3RfdW5pcXVlKCRyc1snSW1hZ2UnXSkgYXMg
JGlkKSB7DQoJCQlpZiAoIWlzX251bWVyaWMoJGlkKSkNCgkJCQkkaWQgPSAoaW50KSBmZXRj
aCgnaWQnLCAndHhwX2ltYWdlJywgJ25hbWUnLCAkaWQpOw0KCQkJaWYgKCRpZCkgew0KCQkJ
CSRpZHNbXSA9ICRpZDsNCgkJCX0NCgkJfQ0KCQkkaWRfbGlzdCA9IGltcGxvZGUoJywnLCAk
aWRzKTsNCgkJJHJvd3MgPSAkaWRzID8gc2FmZV9yb3dzKCdpZCwgZXh0JywgJ3R4cF9pbWFn
ZScsICdpZCBJTiAoJy4kaWRfbGlzdC4nKSBPUkRFUiBCWSBGSUVMRChpZCwgJy4kaWRfbGlz
dC4nKScpIDogYXJyYXkoKTsNCg0KCQlmb3JlYWNoICgkcm93cyBhcyAkcm93KSB7DQoJCQll
eHRyYWN0KCRyb3cpOw0KCQkJJGltYWdlc1tdID0gJzxwIGNsYXNzPSJzb3J0YWJsZSIgZGF0
YS1pZD0iJy4kaWQuJyI+PGEgaHJlZj0iaW5kZXgucGhwP2V2ZW50PWltYWdlJnN0ZXA9aW1h
Z2VfZWRpdCZpZD0nLiRpZC4nIiB0aXRsZT0iJmx0O3R4cDppbWFnZSBpZD0mcXVvdDsnLiRp
ZC4nJnF1b3QgLyZndDsiPicNCgkJCS4nPGltZyBzcmM9IicuaW1hZ2VzcmN1cmwoJGlkLCAk
ZXh0KS4nIiAvPicNCgkJCS4nPC9hPjxidXR0b24gY2xhc3M9ImRlc3Ryb3kiPjxzcGFuIGNs
YXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2UiPicuZ1R4dCgnZGVsZXRlJykuJzwvc3Bhbj48
L2J1dHRvbj48L3A+JzsNCgkJfQ0KCX0NCg0KCSRhcnRpY2xlX2ltYWdlID0gJzxkaXYgaWQ9
ImFydGljbGUtZmlsZS1jb250YWluZXIiPicuaW1wbG9kZShuLCAkaW1hZ2VzKS4nPC9kaXY+
Jy5uOw0KDQoJJGltYWdlcyA9IGFycmF5KCk7DQoJJHNlbGVjdF9pbWFnZXMgPSAnJzsNCg0K
CSRyb3dzID0gc2FmZV9yb3dzKCdpZCwgZXh0JywgJ3R4cF9pbWFnZScsICgkaWRzID8gJ2lk
IE5PVCBJTignLiRpZF9saXN0LicpJyA6ICcxJykuJyBPUkRFUiBCWSBkYXRlIERFU0MgTElN
SVQgMTAnKTsNCg0KCWZvcmVhY2ggKCRyb3dzIGFzICRyb3cpIHsNCgkJZXh0cmFjdCgkcm93
KTsNCgkJJGltYWdlc1tdID0gJzxwIGRhdGEtaWQ9IicuJGlkLiciPjxhIGhyZWY9ImluZGV4
LnBocD9ldmVudD1pbWFnZSZzdGVwPWltYWdlX2VkaXQmaWQ9Jy4kaWQuJyIgdGl0bGU9IiZs
dDt0eHA6aW1hZ2UgaWQ9JnF1b3Q7Jy4kaWQuJyZxdW90IC8mZ3Q7Ij4nDQoJCQkuJzxpbWcg
c3JjPSInLmltYWdlc3JjdXJsKCRpZCwgJGV4dCkuJyIgLz4nLy9pbWFnZShhcnJheSgnaWQn
ID0+ICRpZCkpDQoJCQkuJzwvYT48YnV0dG9uIGNsYXNzPSJkZXN0cm95Ij48c3BhbiBjbGFz
cz0idWktaWNvbiB1aS1pY29uLWNsb3NlIj4nLmdUeHQoJ2RlbGV0ZScpLic8L3NwYW4+PC9i
dXR0b24+PC9wPic7DQoJfQ0KDQoJJHNlbGVjdF9pbWFnZXMgPSAnPGEgaWQ9ImFydGljbGUt
ZmlsZS1hZGQiIGhyZWY9IiNhcnRpY2xlLWZpbGUtc2VsZWN0Ij4nLmdUeHQoJ2FkZCcpLic8
L2E+Jy5uDQoJLic8ZGl2IGlkPSJhcnRpY2xlLWZpbGUtc2VsZWN0IiBjbGFzcz0iaGlkZGVu
Ij4nLmltcGxvZGUobiwgJGltYWdlcykuJzwvZGl2PicubjsNCg0KCXJldHVybiAkZGF0YS5u
LiRhcnRpY2xlX2ltYWdlLm4uJzxociAvPicubg0KCS5pbnB1dExhYmVsKA0KCQknYXJ0aWNs
ZS1maWxlLWlucHV0JywNCgkJJzxidXR0b24gaWQ9ImFydGljbGUtZmlsZS1yZXNldCIgY2xh
c3M9ImRlc3Ryb3kiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2UiPicuZ1R4
dCgnZGVsZXRlJykuJzwvc3Bhbj48L2J1dHRvbj4nLm4uDQoJCSc8aW5wdXQgaWQ9ImFydGlj
bGUtZmlsZS1pbnB1dCIgdHlwZT0iZmlsZSIgbmFtZT0iYXJ0aWNsZV9maWxlW10iIG11bHRp
cGxlPSJtdWx0aXBsZSIgYWNjZXB0PSJpbWFnZS8qIiBvbmNoYW5nZT0iYWJjUHJldmlldyh0
aGlzKSIgLz4nDQoJCS4nPHA+Q2xpY2sgb3IgZHJvcCBmaWxlcyBvbiB0aGlzIHpvbmU8L3A+
Jy5uDQoJCS4nPGRpdiBpZD0iYXJ0aWNsZS1maWxlLXByZXZpZXciPjwvZGl2PicubiwgZ1R4
dCgndXBsb2FkJyksDQoJCWFycmF5KCcnLCAnaW5zdHJ1Y3Rpb25zX2FydGljbGVfaW1hZ2Un
KSwNCgkJYXJyYXkoJ2lkJyA9PiAnYXJ0aWNsZS1maWxlLWRyb3AnLCAnY2xhc3MnID0+ICd0
eHAtZm9ybS1maWVsZCBhcnRpY2xlLWltYWdlJykNCgkpLm4uJzxociAvPicubi4kc2VsZWN0
X2ltYWdlczsNCn0NCg0KZnVuY3Rpb24gYWJjX2ZpbGVfc2F2ZSgkZXZlbnQsICRzdGVwLCAk
cnMpDQp7DQoJaWYoZW1wdHkoJF9GSUxFU1snYXJ0aWNsZV9maWxlJ11bJ3RtcF9uYW1lJ11b
MF0pIHx8ICFoYXNfcHJpdnMoJ2ltYWdlLmVkaXQub3duJykpIHJldHVybjsNCg0KCWluY2x1
ZGVfb25jZSAnbGliJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidjbGFzcy50aHVtYi5waHAnOw0K
CSRpZHMgPSBhcnJheSgpOw0KCSRmaWxlcyA9IFR4cDo6Z2V0KCdcVGV4dHBhdHRlcm5cU2Vy
dmVyXEZpbGVzJyktPnJlZmFjdG9yKCRfRklMRVNbJ2FydGljbGVfZmlsZSddKTsNCg0KCWZv
cmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkgew0KCQkkbWV0YSA9IGFycmF5KCdhbHQnID0+ICRm
aWxlWyduYW1lJ10pOyAgLy9jYXB0aW9uLCBjYXRlZ29yeQ0KCQkkaW1nX3Jlc3VsdCA9IGlt
YWdlX2RhdGEoJGZpbGUsICRtZXRhKTsNCg0KCQlpZiAoaXNfYXJyYXkoJGltZ19yZXN1bHQp
KSB7DQoJCQlsaXN0KCRtZXNzYWdlLCAkaWQpID0gJGltZ19yZXN1bHQ7DQoJCQkkaWRzW10g
PSAkaWQ7DQoJCX0NCgl9DQoNCgkkR0xPQkFMU1snSUQnXSA9IGludHZhbCgkcnNbJ0lEJ10p
Oy8vIHNpYyENCgkkaWRzID0gaW1wbG9kZSgnLCcsICRpZHMpOw0KCSRpZHMgPSBpbXBsb2Rl
KCcsJywgZG9fbGlzdF91bmlxdWUoJHJzWydJbWFnZSddLicsJy4kaWRzKSk7DQoJc2FmZV91
cGRhdGUoJ3RleHRwYXR0ZXJuJywgIkltYWdlPSciLmRvU2xhc2goJGlkcykuIiciLCAnSUQ9
Jy4kR0xPQkFMU1snSUQnXSk7DQp9IjtzOjQ6InR5cGUiO3M6MToiNCI7czo1OiJvcmRlciI7
czoxOiI1IjtzOjU6ImZsYWdzIjtzOjE6IjAiO3M6NDoiaGVscCI7czowOiIiO3M6MzoibWQ1
IjtzOjMyOiJhY2M5ZGE0ODQ1MTZhN2U3ZmI0ZTM1NTA3ZjAzYzUzZSI7fQ==

etc_[ query | search | pagination | date | tree | cache ]

Offline

#44 2018-11-08 10:29:19

etc
Developer
Registered: 2010-11-11
Posts: 2,949
Website

Re: [feedback] Image upload directly in the write tab

Version 0.6: now with drag image on article body to upload and insert.

# Name: abc_article_image v0.6 
# Type: Admin/AJAX plugin
# 
# Author: 
# URL: 
# Recommended load order: 5

# .....................................................................
# This is a plugin for Textpattern CMS - http://textpattern.com/
# To install: textpattern > admin > plugins
# Paste the following text into the 'Install plugin' box:
# .....................................................................

YToxMTp7czo0OiJuYW1lIjtzOjE3OiJhYmNfYXJ0aWNsZV9pbWFnZSI7czo2OiJhdXRob3Ii
O3M6MDoiIjtzOjEwOiJhdXRob3JfdXJpIjtzOjA6IiI7czo3OiJ2ZXJzaW9uIjtzOjM6IjAu
NiI7czoxMToiZGVzY3JpcHRpb24iO3M6MDoiIjtzOjQ6ImNvZGUiO3M6ODQ1MToiZ2xvYmFs
ICRldmVudDsNCg0KaWYoJGV2ZW50ID09ICdhcnRpY2xlJyAmJiBoYXNfcHJpdnMoJ2ltYWdl
LmVkaXQub3duJykpDQp7DQoJcmVnaXN0ZXJfY2FsbGJhY2soJ2FiY19maWxlX3VwbG9hZCcs
ICdhcnRpY2xlX3VpJywgJ2FydGljbGVfaW1hZ2UnKTsNCglyZWdpc3Rlcl9jYWxsYmFjaygn
YWJjX2ZpbGVfc2F2ZScsICdhcnRpY2xlX3Bvc3RlZCcpOw0KCXJlZ2lzdGVyX2NhbGxiYWNr
KCdhYmNfZmlsZV9zYXZlJywgJ2FydGljbGVfc2F2ZWQnKTsNCglyZWdpc3Rlcl9jYWxsYmFj
aygnYWJjX2ZpbGVfanMnLCAnYWRtaW5fc2lkZScsICdib2R5X2VuZCcpOw0KfQ0KDQpmdW5j
dGlvbiBhYmNfZmlsZV9qcygkZXZlbnQsICRzdGVwKSB7DQplY2hvIHNjcmlwdF9qcygnDQpm
dW5jdGlvbiByZWFkZmlsZXMoZmlsZXMsIGlucHV0KSB7DQp2YXIgZm9ybURhdGEgPSBuZXcg
Rm9ybURhdGEoKSwgY291bnQgPSAwOw0KDQpmb3IgKHZhciBpID0gMDsgaSA8IGZpbGVzLmxl
bmd0aDsgaSsrKSB7DQogICAgaWYgKGZpbGVzW2ldLnR5cGUubWF0Y2goL15pbWFnZVwvLykp
IHsNCiAgICAgICAgY291bnQrKzsNCiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCJ0aGVmaWxl
W10iLCBmaWxlc1tpXSk7DQogICAgfQ0KfQ0KDQppZiAoIWNvdW50IC8qfHwgIXdpbmRvdy5j
b25maXJtKCJVcGxvYWQgaW1hZ2VzPyIpKi8pIHJldHVybjsNCg0KZm9ybURhdGEuYXBwZW5k
KCJfdHhwX3Rva2VuIiwgdGV4dHBhdHRlcm4uX3R4cF90b2tlbik7DQoNCiQuYWpheCh7DQog
ICAgdXJsOiAiaW5kZXgucGhwP2V2ZW50PWltYWdlJnN0ZXA9aW1hZ2VfaW5zZXJ0JmFwcF9t
b2RlPWFzeW5jIiwNCiAgICB0eXBlOiAiUE9TVCIsDQogICAgZGF0YTogZm9ybURhdGEsDQog
ICAgYXN5bmM6IHRydWUsDQogICAgc3VjY2VzczogZnVuY3Rpb24gKGRhdGEpIHsNCiAgICAg
ICAgdmFyIHRleHQgPSAiIjsNCiAgICAgICAgdGV4dHBhdHRlcm4uUmVsYXkuZGF0YS5maWxl
aWQuZm9yRWFjaChmdW5jdGlvbihpZCkgew0KICAgICAgICAgICAgdGV4dCArPSAiPHR4cDpp
bWFnZSBpZD1cIiIraWQrIlwiIC8+IjsNCiAgICAgICAgfSk7DQogICAgICAgIHRleHRwYXR0
ZXJuLlJlbGF5LmRhdGEuZmlsZWlkID0gW107DQogICAgICAgIGluc2VydEF0Q3Vyc29yKGlu
cHV0LCB0ZXh0KTsNCiAgICB9LA0KICAgIGNhY2hlOiBmYWxzZSwNCiAgICBjb250ZW50VHlw
ZTogZmFsc2UsDQogICAgcHJvY2Vzc0RhdGE6IGZhbHNlDQogfSk7DQp9ICAgICAgIA0KDQok
KCIjYm9keSwgI2V4Y2VycHQiKS5vbigiZHJhZ292ZXIiLCBmdW5jdGlvbihldnQpIHsNCiAg
ICBlID0gZXZ0Lm9yaWdpbmFsRXZlbnQ7DQogICAgaWYgKCQuaW5BcnJheSgiRmlsZXMiLCBl
LmRhdGFUcmFuc2Zlci50eXBlcykgPiAtMSkgew0KICAgICAgICBlLnN0b3BQcm9wYWdhdGlv
bigpOw0KICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgIGUuZGF0YVRyYW5z
ZmVyLmRyb3BFZmZlY3QgPSAiY29weSI7DQogICAgfQ0KfSkub24oImRyb3AiLCBmdW5jdGlv
bihldnQpIHsNCiAgICBlID0gZXZ0Lm9yaWdpbmFsRXZlbnQ7DQogICAgaWYgKGUuZGF0YVRy
YW5zZmVyLmZpbGVzLmxlbmd0aCkgew0KICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQog
ICAgICAgIHJlYWRmaWxlcyhlLmRhdGFUcmFuc2Zlci5maWxlcywgdGhpcyk7DQogICAgfQ0K
fSk7DQoNCiQoIiN0eHAtaW1hZ2UtZ3JvdXAtY29udGVudCIpLm9uKCJjbGljayIsICIjYXJ0
aWNsZS1maWxlLXJlc2V0IiwgZnVuY3Rpb24oZSkgew0KCWUucHJldmVudERlZmF1bHQoKTsN
CgkkKCIjYXJ0aWNsZS1maWxlLWlucHV0IikudmFsKCIiKTsNCgkkKCIjYXJ0aWNsZS1maWxl
LXByZXZpZXciKS5lbXB0eSgpOw0KCSQoIiNhcnRpY2xlLWZpbGUtcmVzZXQiKS5jc3MoInZp
c2liaWxpdHkiLCAiaGlkZGVuIik7DQp9KS5vbigiY2xpY2siLCAiLnNvcnRhYmxlIC5kZXN0
cm95IiwgZnVuY3Rpb24oZSkgew0KCWUucHJldmVudERlZmF1bHQoKTsNCgkkKHRoaXMpLnBh
cmVudCgpLnJlbW92ZUNsYXNzKCJzb3J0YWJsZSIpLmFwcGVuZFRvKCIjYXJ0aWNsZS1maWxl
LXNlbGVjdCIpOw0KCSQoIiN0eHAtaW1hZ2UtZ3JvdXAtY29udGVudCIpLnRyaWdnZXIoInNv
cnR1cGRhdGUiKS5zb3J0YWJsZSgicmVmcmVzaCIpOw0KfSkub24oImNsaWNrIiwgIiNhcnRp
Y2xlLWZpbGUtYWRkIiwgZnVuY3Rpb24oZSkgew0KCWUucHJldmVudERlZmF1bHQoKTsNCgkk
KCIjYXJ0aWNsZS1maWxlLXNlbGVjdCIpLnRvZ2dsZUNsYXNzKCJoaWRkZW4iKTsNCn0pLm9u
KCJkcmFnc3RhcnQiLCAiI2FydGljbGUtZmlsZS1jb250YWluZXIgYSwgI2FydGljbGUtZmls
ZS1zZWxlY3QgYSIsIGZ1bmN0aW9uKGUpIHsNCgllLm9yaWdpbmFsRXZlbnQuZGF0YVRyYW5z
ZmVyLnNldERhdGEoInRleHQvcGxhaW4iLCBlLm9yaWdpbmFsRXZlbnQudGFyZ2V0LnRpdGxl
KTsNCn0pLm9uKCJzb3J0dXBkYXRlIiwgZnVuY3Rpb24oIGV2ZW50ICkgew0KCXZhciAkY29u
dGFpbmVyID0gJCgiI2FydGljbGUtZmlsZS1jb250YWluZXIiKSwgbGlzdCA9IFtdOw0KCSRj
b250YWluZXIuY2hpbGRyZW4oInAiKS5ub3QoIi5kZWxldGVkIikuZWFjaChmdW5jdGlvbigp
IHsNCgkJbGlzdC5wdXNoKCQodGhpcykuZGF0YSgiaWQiKSk7DQoJfSk7DQoJJCgiI2FydGlj
bGUtaW1hZ2UiKS52YWwobGlzdC5qb2luKCkpOw0KfSkub24oImNsaWNrIiwgIiNhcnRpY2xl
LWZpbGUtc2VsZWN0IGEiLCBmdW5jdGlvbihlKSB7DQoJZS5wcmV2ZW50RGVmYXVsdCgpOw0K
CSQodGhpcykucGFyZW50KCkuYWRkQ2xhc3MoInNvcnRhYmxlIikuYXBwZW5kVG8oIiNhcnRp
Y2xlLWZpbGUtY29udGFpbmVyIik7DQoJJCgiI3R4cC1pbWFnZS1ncm91cC1jb250ZW50Iiku
dHJpZ2dlcigic29ydHVwZGF0ZSIpLnNvcnRhYmxlKCJyZWZyZXNoIik7DQp9KTsNCg0KJCgi
I3R4cC1pbWFnZS1ncm91cC1jb250ZW50Iikub24oImRyYWdlbmQiLCAiI2FydGljbGUtZmls
ZS1jb250YWluZXIgYSIsIGZ1bmN0aW9uKGUpIHsNCgkkKCIjdHhwLWltYWdlLWdyb3VwLWNv
bnRlbnQiKS5zb3J0YWJsZSgiZW5hYmxlIik7DQp9KS5zb3J0YWJsZSh7DQoJaXRlbXM6ICIu
c29ydGFibGUiLA0KCW91dDogZnVuY3Rpb24gKGV2ZW50LCB1aSkgew0KCQlpZiAoISFkcm9w
cGVkT3V0c2lkZSkgJCh0aGlzKS5zb3J0YWJsZSgiZGlzYWJsZSIpOw0KCX0sDQoJb3Zlcjog
ZnVuY3Rpb24gKGV2ZW50LCB1aSkgew0KCQkkKHRoaXMpLnNvcnRhYmxlKCJlbmFibGUiKTsN
Cgl9LA0KCWJlZm9yZVN0b3A6IGZ1bmN0aW9uIChldmVudCwgdWkpIHtkcm9wcGVkT3V0c2lk
ZSA9IGZhbHNlOw0KCX0sDQoJc3RhcnQ6IGZ1bmN0aW9uIChldmVudCwgdWkpIHtkcm9wcGVk
T3V0c2lkZSA9IHRydWU7DQoJfQ0KfSk7DQoNCmZ1bmN0aW9uIGluc2VydEF0Q3Vyc29yIChp
bnB1dCwgdGV4dFRvSW5zZXJ0KSB7DQogIGNvbnN0IGlzU3VjY2VzcyA9IGRvY3VtZW50LmV4
ZWNDb21tYW5kKCJpbnNlcnRUZXh0IiwgZmFsc2UsIHRleHRUb0luc2VydCk7DQogIGlmIChp
c1N1Y2Nlc3MpIHJldHVybjsNCg0KICAvLyBJRSA4LTEwDQogIGlmIChkb2N1bWVudC5zZWxl
Y3Rpb24pIHsNCiAgICBjb25zdCBpZVJhbmdlID0gZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0
ZVJhbmdlKCk7DQogICAgaWVSYW5nZS50ZXh0ID0gdGV4dFRvSW5zZXJ0Ow0KDQogICAgLy8g
TW92ZSBjdXJzb3IgYWZ0ZXIgdGhlIGluc2VydGVkIHRleHQNCiAgICBpZVJhbmdlLmNvbGxh
cHNlKGZhbHNlIC8qIHRvIHRoZSBlbmQgKi8pOw0KICAgIGllUmFuZ2Uuc2VsZWN0KCk7DQoN
CiAgICByZXR1cm47DQogIH0NCg0KICAvLyBGaXJlZm94IChub24tc3RhbmRhcmQgbWV0aG9k
KQ0KICBpZiAodHlwZW9mIGlucHV0LnNldFJhbmdlVGV4dCA9PT0gImZ1bmN0aW9uIikgew0K
ICAgIGNvbnN0IHN0YXJ0ID0gaW5wdXQuc2VsZWN0aW9uU3RhcnQ7DQogICAgaW5wdXQuc2V0
UmFuZ2VUZXh0KHRleHRUb0luc2VydCk7DQogICAgLy8gdXBkYXRlIGN1cnNvciB0byBiZSBh
dCB0aGUgZW5kIG9mIGluc2VydGlvbg0KICAgIGlucHV0LnNlbGVjdGlvblN0YXJ0ID0gaW5w
dXQuc2VsZWN0aW9uRW5kID0gc3RhcnQgKyB0ZXh0VG9JbnNlcnQubGVuZ3RoOw0KDQogICAg
Ly8gTm90aWZ5IGFueSBwb3NzaWJsZSBsaXN0ZW5lcnMgb2YgdGhlIGNoYW5nZQ0KICAgIGNv
bnN0IGUgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiVUlFdmVudCIpOw0KICAgIGUuaW5pdEV2
ZW50KCJpbnB1dCIsIHRydWUsIGZhbHNlKTsNCiAgICBpbnB1dC5kaXNwYXRjaEV2ZW50KGUp
Ow0KICB9DQp9DQoNCndpbmRvdy5hYmNQcmV2aWV3ID0gZnVuY3Rpb24gKGlucHV0KSB7DQoJ
dmFyIGNyZWF0ZU9iamVjdFVSTCA9ICh3aW5kb3cuVVJMIHx8IHdpbmRvdy53ZWJraXRVUkwg
fHwge30pLmNyZWF0ZU9iamVjdFVSTA0KDQoJaWYgKGNyZWF0ZU9iamVjdFVSTCAmJiBpbnB1
dC5maWxlcy5sZW5ndGgpIHsNCgkJJCgiI2FydGljbGUtZmlsZS1wcmV2aWV3IikuZW1wdHko
KTsNCgkJJCgiI2FydGljbGUtZmlsZS1yZXNldCIpLmNzcygidmlzaWJpbGl0eSIsICJ2aXNp
YmxlIik7DQoJCSQoaW5wdXQuZmlsZXMpLmVhY2goZnVuY3Rpb24gKCkgew0KCQkJJCgiI2Fy
dGljbGUtZmlsZS1wcmV2aWV3IikuYXBwZW5kKCI8cD48aW1nIHNyYz1cJyIgKyBjcmVhdGVP
YmplY3RVUkwodGhpcykgKyAiXCcgLz48L3A+Iik7DQoJCX0pOw0KCX0NCn0nLCBmYWxzZSku
bg0KLic8c3R5bGU+DQoJI3R4cC1pbWFnZS1ncm91cC1jb250ZW50IGltZ3ttYXgtd2lkdGg6
MTAwJTtoZWlnaHQ6YXV0b30NCgkjdHhwLWltYWdlLWdyb3VwLWNvbnRlbnQgLmRlbGV0ZWR7
b3BhY2l0eTowLjI1fQ0KCSN0eHAtaW1hZ2UtZ3JvdXAtY29udGVudCAuc29ydGFibGV7cG9z
aXRpb246cmVsYXRpdmV9DQoJI3R4cC1pbWFnZS1ncm91cC1jb250ZW50IC5kZXN0cm95e3Bv
c2l0aW9uOmFic29sdXRlO3JpZ2h0OjA7ei1pbmRleDoxMDA7dmlzaWJpbGl0eTpoaWRkZW59
DQoJI3R4cC1pbWFnZS1ncm91cC1jb250ZW50IC5zb3J0YWJsZSAuZGVzdHJveXt2aXNpYmls
aXR5OnZpc2libGV9DQoJI2FydGljbGUtZmlsZS1yZXNldHt2aXNpYmlsaXR5OmhpZGRlbn0N
CgkuaGlkZGVue2Rpc3BsYXk6bm9uZX0NCgkjYXJ0aWNsZS1maWxlLWlucHV0e2hlaWdodDog
MTAwJTsgd2lkdGg6IDEwMCU7IHotaW5kZXg6IDUwOyBwb3NpdGlvbjogYWJzb2x1dGU7IG9w
YWNpdHk6IDB9DQoJI2FydGljbGUtZmlsZS1kcm9wPmRpdi50eHAtZm9ybS1maWVsZC12YWx1
ZXtwb3NpdGlvbjogcmVsYXRpdmU7IGJhY2tncm91bmQ6IHdoaXRlOyBvdXRsaW5lOiAxcHgg
c29saWQgI2UzZTNlMzsgbWluLWhlaWdodDogNWV4fQ0KCSNtYWluX2NvbnRlbnR7cG9zaXRp
b246c3RpY2t5O3RvcDowfQ0KPC9zdHlsZT4nOw0KfQ0KDQpmdW5jdGlvbiBhYmNfZmlsZV91
cGxvYWQoJGV2ZW50LCAkc3RlcCwgJGRhdGEsICRycykNCnsNCgkkaWRzID0gJGltYWdlcyA9
IGFycmF5KCk7DQoJaWYgKCFlbXB0eSgkcnNbJ0ltYWdlJ10pKQ0KCXsNCgkJJGltYWdlcyA9
IGFycmF5KCk7DQoJCWZvcmVhY2ggKGRvX2xpc3RfdW5pcXVlKCRyc1snSW1hZ2UnXSkgYXMg
JGlkKSB7DQoJCQlpZiAoIWlzX251bWVyaWMoJGlkKSkNCgkJCQkkaWQgPSAoaW50KSBmZXRj
aCgnaWQnLCAndHhwX2ltYWdlJywgJ25hbWUnLCAkaWQpOw0KCQkJaWYgKCRpZCkgew0KCQkJ
CSRpZHNbXSA9ICRpZDsNCgkJCX0NCgkJfQ0KCQkkaWRfbGlzdCA9IGltcGxvZGUoJywnLCAk
aWRzKTsNCgkJJHJvd3MgPSAkaWRzID8gc2FmZV9yb3dzKCdpZCwgZXh0JywgJ3R4cF9pbWFn
ZScsICdpZCBJTiAoJy4kaWRfbGlzdC4nKSBPUkRFUiBCWSBGSUVMRChpZCwgJy4kaWRfbGlz
dC4nKScpIDogYXJyYXkoKTsNCg0KCQlmb3JlYWNoICgkcm93cyBhcyAkcm93KSB7DQoJCQll
eHRyYWN0KCRyb3cpOw0KCQkJJGltYWdlc1tdID0gJzxwIGNsYXNzPSJzb3J0YWJsZSIgZGF0
YS1pZD0iJy4kaWQuJyI+PGEgaHJlZj0iaW5kZXgucGhwP2V2ZW50PWltYWdlJnN0ZXA9aW1h
Z2VfZWRpdCZpZD0nLiRpZC4nIiB0aXRsZT0iJmx0O3R4cDppbWFnZSBpZD0mcXVvdDsnLiRp
ZC4nJnF1b3QgLyZndDsiPicNCgkJCS4nPGltZyBzcmM9IicuaW1hZ2VzcmN1cmwoJGlkLCAk
ZXh0KS4nIiAvPicNCgkJCS4nPC9hPjxidXR0b24gY2xhc3M9ImRlc3Ryb3kiPjxzcGFuIGNs
YXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2UiPicuZ1R4dCgnZGVsZXRlJykuJzwvc3Bhbj48
L2J1dHRvbj48L3A+JzsNCgkJfQ0KCX0NCg0KCSRhcnRpY2xlX2ltYWdlID0gJzxkaXYgaWQ9
ImFydGljbGUtZmlsZS1jb250YWluZXIiPicuaW1wbG9kZShuLCAkaW1hZ2VzKS4nPC9kaXY+
Jy5uOw0KDQoJJGltYWdlcyA9IGFycmF5KCk7DQoJJHNlbGVjdF9pbWFnZXMgPSAnJzsNCg0K
CSRyb3dzID0gc2FmZV9yb3dzKCdpZCwgZXh0JywgJ3R4cF9pbWFnZScsICgkaWRzID8gJ2lk
IE5PVCBJTignLiRpZF9saXN0LicpJyA6ICcxJykuJyBPUkRFUiBCWSBkYXRlIERFU0MgTElN
SVQgMTAnKTsNCg0KCWZvcmVhY2ggKCRyb3dzIGFzICRyb3cpIHsNCgkJZXh0cmFjdCgkcm93
KTsNCgkJJGltYWdlc1tdID0gJzxwIGRhdGEtaWQ9IicuJGlkLiciPjxhIGhyZWY9ImluZGV4
LnBocD9ldmVudD1pbWFnZSZzdGVwPWltYWdlX2VkaXQmaWQ9Jy4kaWQuJyIgdGl0bGU9IiZs
dDt0eHA6aW1hZ2UgaWQ9JnF1b3Q7Jy4kaWQuJyZxdW90IC8mZ3Q7Ij4nDQoJCQkuJzxpbWcg
c3JjPSInLmltYWdlc3JjdXJsKCRpZCwgJGV4dCkuJyIgLz4nLy9pbWFnZShhcnJheSgnaWQn
ID0+ICRpZCkpDQoJCQkuJzwvYT48YnV0dG9uIGNsYXNzPSJkZXN0cm95Ij48c3BhbiBjbGFz
cz0idWktaWNvbiB1aS1pY29uLWNsb3NlIj4nLmdUeHQoJ2RlbGV0ZScpLic8L3NwYW4+PC9i
dXR0b24+PC9wPic7DQoJfQ0KDQoJJHNlbGVjdF9pbWFnZXMgPSAnPGEgaWQ9ImFydGljbGUt
ZmlsZS1hZGQiIGhyZWY9IiNhcnRpY2xlLWZpbGUtc2VsZWN0Ij4nLmdUeHQoJ2FkZCcpLic8
L2E+Jy5uDQoJLic8ZGl2IGlkPSJhcnRpY2xlLWZpbGUtc2VsZWN0IiBjbGFzcz0iaGlkZGVu
Ij4nLmltcGxvZGUobiwgJGltYWdlcykuJzwvZGl2PicubjsNCg0KCXJldHVybiAkZGF0YS5u
LiRhcnRpY2xlX2ltYWdlLm4uJzxociAvPicubg0KCS5pbnB1dExhYmVsKA0KCQknYXJ0aWNs
ZS1maWxlLWlucHV0JywNCgkJJzxidXR0b24gaWQ9ImFydGljbGUtZmlsZS1yZXNldCIgY2xh
c3M9ImRlc3Ryb3kiPjxzcGFuIGNsYXNzPSJ1aS1pY29uIHVpLWljb24tY2xvc2UiPicuZ1R4
dCgnZGVsZXRlJykuJzwvc3Bhbj48L2J1dHRvbj4nLm4uDQoJCSc8aW5wdXQgaWQ9ImFydGlj
bGUtZmlsZS1pbnB1dCIgdHlwZT0iZmlsZSIgbmFtZT0iYXJ0aWNsZV9maWxlW10iIG11bHRp
cGxlPSJtdWx0aXBsZSIgYWNjZXB0PSJpbWFnZS8qIiBvbmNoYW5nZT0iYWJjUHJldmlldyh0
aGlzKSIgLz4nDQoJCS4nPHA+Q2xpY2sgb3IgZHJvcCBmaWxlcyBvbiB0aGlzIHpvbmU8L3A+
Jy5uDQoJCS4nPGRpdiBpZD0iYXJ0aWNsZS1maWxlLXByZXZpZXciPjwvZGl2PicubiwgZ1R4
dCgndXBsb2FkJyksDQoJCWFycmF5KCcnLCAnaW5zdHJ1Y3Rpb25zX2FydGljbGVfaW1hZ2Un
KSwNCgkJYXJyYXkoJ2lkJyA9PiAnYXJ0aWNsZS1maWxlLWRyb3AnLCAnY2xhc3MnID0+ICd0
eHAtZm9ybS1maWVsZCBhcnRpY2xlLWltYWdlJykNCgkpLm4uJzxociAvPicubi4kc2VsZWN0
X2ltYWdlczsNCn0NCg0KZnVuY3Rpb24gYWJjX2ZpbGVfc2F2ZSgkZXZlbnQsICRzdGVwLCAk
cnMpDQp7DQoJaWYoZW1wdHkoJF9GSUxFU1snYXJ0aWNsZV9maWxlJ11bJ3RtcF9uYW1lJ11b
MF0pIHx8ICFoYXNfcHJpdnMoJ2ltYWdlLmVkaXQub3duJykpIHJldHVybjsNCg0KCWluY2x1
ZGVfb25jZSAnbGliJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidjbGFzcy50aHVtYi5waHAnOw0K
CSRpZHMgPSBhcnJheSgpOw0KCSRmaWxlcyA9IFR4cDo6Z2V0KCdcVGV4dHBhdHRlcm5cU2Vy
dmVyXEZpbGVzJyktPnJlZmFjdG9yKCRfRklMRVNbJ2FydGljbGVfZmlsZSddKTsNCg0KCWZv
cmVhY2ggKCRmaWxlcyBhcyAkZmlsZSkgew0KCQkkbWV0YSA9IGFycmF5KCdhbHQnID0+ICRm
aWxlWyduYW1lJ10pOyAgLy9jYXB0aW9uLCBjYXRlZ29yeQ0KCQkkaW1nX3Jlc3VsdCA9IGlt
YWdlX2RhdGEoJGZpbGUsICRtZXRhKTsNCg0KCQlpZiAoaXNfYXJyYXkoJGltZ19yZXN1bHQp
KSB7DQoJCQlsaXN0KCRtZXNzYWdlLCAkaWQpID0gJGltZ19yZXN1bHQ7DQoJCQkkaWRzW10g
PSAkaWQ7DQoJCX0NCgl9DQoNCgkkR0xPQkFMU1snSUQnXSA9IGludHZhbCgkcnNbJ0lEJ10p
Oy8vIHNpYyENCgkkaWRzID0gaW1wbG9kZSgnLCcsICRpZHMpOw0KCSRpZHMgPSBpbXBsb2Rl
KCcsJywgZG9fbGlzdF91bmlxdWUoJHJzWydJbWFnZSddLicsJy4kaWRzKSk7DQoJc2FmZV91
cGRhdGUoJ3RleHRwYXR0ZXJuJywgIkltYWdlPSciLmRvU2xhc2goJGlkcykuIiciLCAnSUQ9
Jy4kR0xPQkFMU1snSUQnXSk7DQp9IjtzOjQ6InR5cGUiO3M6MToiNCI7czo1OiJvcmRlciI7
czoxOiI1IjtzOjU6ImZsYWdzIjtzOjE6IjAiO3M6NDoiaGVscCI7czowOiIiO3M6MzoibWQ1
IjtzOjMyOiI0MjAwNzk3ZDgxNzA1NDE4ZTQ2MzZhMTlhZjdmMGU1OSI7fQ==

etc_[ query | search | pagination | date | tree | cache ]

Offline

#45 2018-11-09 12:47:53

etc
Developer
Registered: 2010-11-11
Posts: 2,949
Website

Re: [feedback] Image upload directly in the write tab

Version 0.7 allows you to define how images should be imported via Preferences/Admin/abc_file_image pref (disable/enable the plugin to trigger the prefs creation). Examples:

  • <txp:image id="{#}" /> (default): insert one image tag per image.
  • <txp:images id="{##}" form="galery" />: insert one common images tag for uploaded images.

Enjoy!

# Name: abc_article_image v0.7.2 
# Type: Admin/AJAX plugin
# 
# Author: 
# URL: 
# Recommended load order: 5

# .....................................................................
# This is a plugin for Textpattern CMS - http://textpattern.com/
# To install: textpattern > admin > plugins
# Paste the following text into the 'Install plugin' box:
# .....................................................................

YToxMTp7czo0OiJuYW1lIjtzOjE3OiJhYmNfYXJ0aWNsZV9pbWFnZSI7czo2OiJhdXRob3Ii
O3M6MDoiIjtzOjEwOiJhdXRob3JfdXJpIjtzOjA6IiI7czo3OiJ2ZXJzaW9uIjtzOjU6IjAu
Ny4yIjtzOjExOiJkZXNjcmlwdGlvbiI7czowOiIiO3M6NDoiY29kZSI7czo5OTg3OiJnbG9i
YWwgJGV2ZW50Ow0KDQpyZWdpc3Rlcl9jYWxsYmFjaygnYWJjX2ZpbGVfaW5zdGFsbCcsJ3Bs
dWdpbl9saWZlY3ljbGUuYWJjX2FydGljbGVfaW1hZ2UnKTsNCg0KaWYoJGV2ZW50ID09ICdh
cnRpY2xlJyAmJiBoYXNfcHJpdnMoJ2ltYWdlLmVkaXQub3duJykpDQp7DQoJYWRkX3ByaXZz
KCdhYmNfZmlsZScsICcxLDIsMyw0LDUsNicpOw0KCWFkZF9wcml2cygncHJlZnMuYWJjX2Zp
bGUnLCAnMSwyLDMsNCw1LDYnKTsNCglyZWdpc3Rlcl9jYWxsYmFjaygnYWJjX2ZpbGVfdXBs
b2FkJywgJ2FydGljbGVfdWknLCAnYXJ0aWNsZV9pbWFnZScpOw0KCXJlZ2lzdGVyX2NhbGxi
YWNrKCdhYmNfZmlsZV9zYXZlJywgJ2FydGljbGVfcG9zdGVkJyk7DQoJcmVnaXN0ZXJfY2Fs
bGJhY2soJ2FiY19maWxlX3NhdmUnLCAnYXJ0aWNsZV9zYXZlZCcpOw0KCXJlZ2lzdGVyX2Nh
bGxiYWNrKCdhYmNfZmlsZV9qcycsICdhZG1pbl9zaWRlJywgJ2JvZHlfZW5kJyk7DQp9DQoN
CmZ1bmN0aW9uIGFiY19maWxlX2luc3RhbGwoJGV2ZW50LCAkc3RlcCkNCnsNCiAgICBpZiAo
JHN0ZXAgPT0gJ2RlbGV0ZWQnKSB7DQogICAgICAgIHNhZmVfZGVsZXRlKCd0eHBfcHJlZnMn
LCAibmFtZSBMSUtFICdhYmNcX2ZpbGVcXyUnIik7DQogICAgfSBlbHNlaWYgKCRzdGVwID09
ICdlbmFibGVkJykgew0KICAgICAgICBzYWZlX3VwZGF0ZSgndHhwX3ByZWZzJywgImV2ZW50
PSdhYmNfZmlsZSciLCAibmFtZSBMSUtFICdhYmNcX2ZpbGVcXyUnIik7DQogICAgICAgIGlm
ICghZ2V0X3ByZWYoJ2FiY19maWxlX2ltYWdlJykpDQogICAgICAgICAgICBzZXRfcHJlZign
YWJjX2ZpbGVfaW1hZ2UnLCAnPHR4cDppbWFnZSBpZD0ieyN9IiAvPicsICdhYmNfZmlsZScs
IFBSRUZfUExVR0lOLCAnbG9uZ3RleHRfaW5wdXQnLCA1MDAsIFBSRUZfUFJJVkFURSk7DQog
ICAgICAgIGlmICghZ2V0X3ByZWYoJ2FiY19maWxlX2xpbWl0JykpDQogICAgICAgICAgICBz
ZXRfcHJlZignYWJjX2ZpbGVfbGltaXQnLCAxMiwgJ2FiY19maWxlJywgUFJFRl9QTFVHSU4s
ICd0ZXh0X2lucHV0JywgMzAwLCBQUkVGX1BSSVZBVEUpOw0KICAgIH0NCn0NCg0KZnVuY3Rp
b24gYWJjX2ZpbGVfanMoJGV2ZW50LCAkc3RlcCkgew0KZWNobyBzY3JpcHRfanMoJw0KdmFy
IGltYWdlVGFnID0gIicuZXNjYXBlX2pzKGdldF9wcmVmKCdhYmNfZmlsZV9pbWFnZScsICc8
dHhwOmltYWdlIGlkPSJ7I30iIC8+JykpLiciOw0KDQpmdW5jdGlvbiByZWFkZmlsZXMoZmls
ZXMsIGlucHV0KSB7DQp2YXIgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKSwgY291bnQgPSAw
Ow0KDQpmb3IgKHZhciBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7DQogICAgaWYg
KGZpbGVzW2ldLnR5cGUubWF0Y2goL15pbWFnZVwvLykpIHsNCiAgICAgICAgY291bnQrKzsN
CiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCJ0aGVmaWxlW10iLCBmaWxlc1tpXSk7DQogICAg
fQ0KfQ0KDQp2YXIgdGV4dCA9ICJVcGxvYWQgIitjb3VudCsiIGltYWdlIisoY291bnQgPT0g
MSA/ICIiIDogInMiKSsiPyI7DQppZiAoIWNvdW50IHx8ICF3aW5kb3cuY29uZmlybSh0ZXh0
KSkgcmV0dXJuOw0KDQpmb3JtRGF0YS5hcHBlbmQoIl90eHBfdG9rZW4iLCB0ZXh0cGF0dGVy
bi5fdHhwX3Rva2VuKTsNCiQoaW5wdXQpLnByb3AoImRpc2FibGVkIiwgdHJ1ZSk7DQoNCiQu
YWpheCh7DQogICAgdXJsOiAiaW5kZXgucGhwP2V2ZW50PWltYWdlJnN0ZXA9aW1hZ2VfaW5z
ZXJ0JmFwcF9tb2RlPWFzeW5jIiwNCiAgICB0eXBlOiAiUE9TVCIsDQogICAgZGF0YTogZm9y
bURhdGEsDQogICAgYXN5bmM6IHRydWUsDQogICAgc3VjY2VzczogZnVuY3Rpb24gKGRhdGEp
IHsNCiAgICAgICAgdmFyIHRleHQgPSAiIiwgdGFnID0gaW1hZ2VUYWcucmVwbGFjZSgvXHsj
I1x9L2csIHRleHRwYXR0ZXJuLlJlbGF5LmRhdGEuZmlsZWlkLmpvaW4oIiwiKSk7DQogICAg
ICAgIGlmICh0YWcubWF0Y2goL1x7I1x9LykpIHRleHRwYXR0ZXJuLlJlbGF5LmRhdGEuZmls
ZWlkLmZvckVhY2goZnVuY3Rpb24oaWQpIHsNCiAgICAgICAgICAgIHRleHQgKz0gdGFnLnJl
cGxhY2UoL1x7I1x9L2csIGlkKTsNCiAgICAgICAgfSk7DQogICAgICAgIGVsc2UgdGV4dCA9
IHRhZzsNCiAgICAgICAgdGV4dHBhdHRlcm4uUmVsYXkuZGF0YS5maWxlaWQgPSBbXTsNCiAg
ICAgICAgJChpbnB1dCkucHJvcCgiZGlzYWJsZWQiLCBmYWxzZSk7DQogICAgICAgIGluc2Vy
dEF0Q3Vyc29yKGlucHV0LCB0ZXh0KTsNCiAgICAgICAgdGV4dHBhdHRlcm4uQ29uc29sZS5h
bm5vdW5jZSgidXBsb2FkRW5kIik7DQogICAgfSwNCiAgICBjYWNoZTogZmFsc2UsDQogICAg
Y29udGVudFR5cGU6IGZhbHNlLA0KICAgIHByb2Nlc3NEYXRhOiBmYWxzZQ0KIH0pOw0KfSAg
ICAgICANCg0KJCgiI2JvZHksICNleGNlcnB0Iikub24oImRyYWdvdmVyIiwgZnVuY3Rpb24o
ZXZ0KSB7DQogICAgZSA9IGV2dC5vcmlnaW5hbEV2ZW50Ow0KICAgIGlmIChlLmRhdGFUcmFu
c2Zlci50eXBlcy5pbmNsdWRlcygiRmlsZXMiKSkgew0KICAgICAgICBlLnN0b3BQcm9wYWdh
dGlvbigpOw0KICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgIGUuZGF0YVRy
YW5zZmVyLmRyb3BFZmZlY3QgPSAiY29weSI7DQogICAgfQ0KfSkub24oImRyb3AiLCBmdW5j
dGlvbihldnQpIHsNCiAgICBlID0gZXZ0Lm9yaWdpbmFsRXZlbnQ7DQogICAgaWYgKGUuZGF0
YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCkgew0KICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7
DQogICAgICAgIHJlYWRmaWxlcyhlLmRhdGFUcmFuc2Zlci5maWxlcywgdGhpcyk7DQogICAg
fQ0KfSk7DQoNCiQoIiN0eHAtaW1hZ2UtZ3JvdXAtY29udGVudCIpLm9uKCJjbGljayIsICIj
YXJ0aWNsZS1maWxlLXJlc2V0IiwgZnVuY3Rpb24oZSkgew0KCWUucHJldmVudERlZmF1bHQo
KTsNCgkkKCIjYXJ0aWNsZS1maWxlLWlucHV0IikudmFsKCIiKTsNCgkkKCIjYXJ0aWNsZS1m
aWxlLXByZXZpZXciKS5lbXB0eSgpOw0KCSQoIiNhcnRpY2xlLWZpbGUtcmVzZXQiKS5jc3Mo
InZpc2liaWxpdHkiLCAiaGlkZGVuIik7DQp9KS5vbigiY2xpY2siLCAiLnNvcnRhYmxlIC5k
ZXN0cm95IiwgZnVuY3Rpb24oZSkgew0KCWUucHJldmVudERlZmF1bHQoKTsNCgkkKHRoaXMp
LnBhcmVudCgpLnJlbW92ZUNsYXNzKCJzb3J0YWJsZSIpLmNsb25lKCkuYXBwZW5kVG8oIiNh
cnRpY2xlLWZpbGUtc2VsZWN0Iik7DQoJJCh0aGlzKS5wYXJlbnQoKS5yZW1vdmUoKTsNCgkk
KCIjdHhwLWltYWdlLWdyb3VwLWNvbnRlbnQiKS50cmlnZ2VyKCJzb3J0dXBkYXRlIikuc29y
dGFibGUoInJlZnJlc2giKTsNCn0pLm9uKCJjbGljayIsICIjYXJ0aWNsZS1maWxlLWFkZCIs
IGZ1bmN0aW9uKGUpIHsNCgllLnByZXZlbnREZWZhdWx0KCk7DQoJJCh0aGlzKS5jaGlsZHJl
bigic3BhbiIpLnRvZ2dsZUNsYXNzKCJ1aS1pY29uLWFycm93dGhpY2tzdG9wLTEtcyB1aS1p
Y29uLWFycm93dGhpY2tzdG9wLTEtbiIpOw0KCSQoIiNhcnRpY2xlLWZpbGUtc2VsZWN0Iiku
dG9nZ2xlQ2xhc3MoImhpZGRlbiIpOw0KfSkub24oImRyYWdzdGFydCIsICIjYXJ0aWNsZS1m
aWxlLWNvbnRhaW5lciBhLCAjYXJ0aWNsZS1maWxlLXNlbGVjdCBhIiwgZnVuY3Rpb24oZSkg
ew0KICAgICAgICBpZiAoZS5vcmlnaW5hbEV2ZW50LnRhcmdldC50aXRsZSkNCgkgICAgZS5v
cmlnaW5hbEV2ZW50LmRhdGFUcmFuc2Zlci5zZXREYXRhKCJ0ZXh0L3BsYWluIiwgZS5vcmln
aW5hbEV2ZW50LnRhcmdldC50aXRsZSk7DQp9KS5vbigic29ydHVwZGF0ZSIsIGZ1bmN0aW9u
KCBldmVudCApIHsNCgl2YXIgJGNvbnRhaW5lciA9ICQoIiNhcnRpY2xlLWZpbGUtY29udGFp
bmVyIiksIGxpc3QgPSBbXTsNCgkkY29udGFpbmVyLmNoaWxkcmVuKCJwLnNvcnRhYmxlIiku
ZWFjaChmdW5jdGlvbigpIHsNCgkJbGlzdC5wdXNoKCQodGhpcykuZGF0YSgiaWQiKSk7DQoJ
fSk7DQoJJCgiI2FydGljbGUtaW1hZ2UiKS52YWwobGlzdC5qb2luKCkpOw0KfSkub24oImNs
aWNrIiwgIiNhcnRpY2xlLWZpbGUtc2VsZWN0IGEiLCBmdW5jdGlvbihlKSB7DQoJZS5wcmV2
ZW50RGVmYXVsdCgpOw0KCSQodGhpcykucGFyZW50KCkuYWRkQ2xhc3MoInNvcnRhYmxlIiku
YXBwZW5kVG8oIiNhcnRpY2xlLWZpbGUtY29udGFpbmVyIik7DQoJJCgiI3R4cC1pbWFnZS1n
cm91cC1jb250ZW50IikudHJpZ2dlcigic29ydHVwZGF0ZSIpLnNvcnRhYmxlKCJyZWZyZXNo
Iik7DQp9KTsNCg0KJCgiI3R4cC1pbWFnZS1ncm91cC1jb250ZW50Iikub24oImRyYWdlbmQi
LCAiI2FydGljbGUtZmlsZS1jb250YWluZXIgYSIsIGZ1bmN0aW9uKGUpIHsNCgkkKCIjdHhw
LWltYWdlLWdyb3VwLWNvbnRlbnQiKS5zb3J0YWJsZSgiZW5hYmxlIik7DQp9KS5zb3J0YWJs
ZSh7DQoJaXRlbXM6ICIuc29ydGFibGUiLA0KCW91dDogZnVuY3Rpb24gKGV2ZW50LCB1aSkg
ew0KCQlpZiAoISFkcm9wcGVkT3V0c2lkZSkgJCh0aGlzKS5zb3J0YWJsZSgiZGlzYWJsZSIp
Ow0KCX0sDQoJb3ZlcjogZnVuY3Rpb24gKGV2ZW50LCB1aSkgew0KCQkkKHRoaXMpLnNvcnRh
YmxlKCJlbmFibGUiKTsNCgl9LA0KCWJlZm9yZVN0b3A6IGZ1bmN0aW9uIChldmVudCwgdWkp
IHtkcm9wcGVkT3V0c2lkZSA9IGZhbHNlOw0KCX0sDQoJc3RhcnQ6IGZ1bmN0aW9uIChldmVu
dCwgdWkpIHtkcm9wcGVkT3V0c2lkZSA9IHRydWU7DQoJfQ0KfSk7DQoNCmZ1bmN0aW9uIGlu
c2VydEF0Q3Vyc29yIChpbnB1dCwgdGV4dFRvSW5zZXJ0KSB7DQogIGNvbnN0IGlzU3VjY2Vz
cyA9IGRvY3VtZW50LmV4ZWNDb21tYW5kKCJpbnNlcnRUZXh0IiwgZmFsc2UsIHRleHRUb0lu
c2VydCk7DQogIGlmIChpc1N1Y2Nlc3MpIHJldHVybjsNCg0KICAvLyBJRSA4LTEwDQogIGlm
IChkb2N1bWVudC5zZWxlY3Rpb24pIHsNCiAgICBjb25zdCBpZVJhbmdlID0gZG9jdW1lbnQu
c2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCk7DQogICAgaWVSYW5nZS50ZXh0ID0gdGV4dFRvSW5z
ZXJ0Ow0KDQogICAgLy8gTW92ZSBjdXJzb3IgYWZ0ZXIgdGhlIGluc2VydGVkIHRleHQNCiAg
ICBpZVJhbmdlLmNvbGxhcHNlKGZhbHNlIC8qIHRvIHRoZSBlbmQgKi8pOw0KICAgIGllUmFu
Z2Uuc2VsZWN0KCk7DQoNCiAgICByZXR1cm47DQogIH0NCg0KICAvLyBGaXJlZm94IChub24t
c3RhbmRhcmQgbWV0aG9kKQ0KICBpZiAodHlwZW9mIGlucHV0LnNldFJhbmdlVGV4dCA9PT0g
ImZ1bmN0aW9uIikgew0KICAgIGNvbnN0IHN0YXJ0ID0gaW5wdXQuc2VsZWN0aW9uU3RhcnQ7
DQogICAgaW5wdXQuc2V0UmFuZ2VUZXh0KHRleHRUb0luc2VydCk7DQogICAgLy8gdXBkYXRl
IGN1cnNvciB0byBiZSBhdCB0aGUgZW5kIG9mIGluc2VydGlvbg0KICAgIGlucHV0LnNlbGVj
dGlvblN0YXJ0ID0gaW5wdXQuc2VsZWN0aW9uRW5kID0gc3RhcnQgKyB0ZXh0VG9JbnNlcnQu
bGVuZ3RoOw0KDQogICAgLy8gTm90aWZ5IGFueSBwb3NzaWJsZSBsaXN0ZW5lcnMgb2YgdGhl
IGNoYW5nZQ0KICAgIGNvbnN0IGUgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgiVUlFdmVudCIp
Ow0KICAgIGUuaW5pdEV2ZW50KCJpbnB1dCIsIHRydWUsIGZhbHNlKTsNCiAgICBpbnB1dC5k
aXNwYXRjaEV2ZW50KGUpOw0KICB9DQp9DQoNCndpbmRvdy5hYmNQcmV2aWV3ID0gZnVuY3Rp
b24gKGlucHV0KSB7DQoJdmFyIGNyZWF0ZU9iamVjdFVSTCA9ICh3aW5kb3cuVVJMIHx8IHdp
bmRvdy53ZWJraXRVUkwgfHwge30pLmNyZWF0ZU9iamVjdFVSTA0KDQoJaWYgKGNyZWF0ZU9i
amVjdFVSTCAmJiBpbnB1dC5maWxlcy5sZW5ndGgpIHsNCgkJJCgiI2FydGljbGUtZmlsZS1w
cmV2aWV3IikuZW1wdHkoKTsNCgkJJCgiI2FydGljbGUtZmlsZS1yZXNldCIpLmNzcygidmlz
aWJpbGl0eSIsICJ2aXNpYmxlIik7DQoJCSQoaW5wdXQuZmlsZXMpLmVhY2goZnVuY3Rpb24g
KCkgew0KCQkJJCgiI2FydGljbGUtZmlsZS1wcmV2aWV3IikuYXBwZW5kKCI8cD48aW1nIHNy
Yz1cJyIgKyBjcmVhdGVPYmplY3RVUkwodGhpcykgKyAiXCcgLz48L3A+Iik7DQoJCX0pOw0K
CX0NCn0nLCBmYWxzZSkubg0KLic8c3R5bGU+DQoJI3R4cC1pbWFnZS1ncm91cC1jb250ZW50
IGltZ3ttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b30NCgkjdHhwLWltYWdlLWdyb3VwLWNv
bnRlbnQgLnNvcnRhYmxle3Bvc2l0aW9uOnJlbGF0aXZlfQ0KCSN0eHAtaW1hZ2UtZ3JvdXAt
Y29udGVudCAuZGVzdHJveXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3otaW5kZXg6MTAw
O3Zpc2liaWxpdHk6aGlkZGVufQ0KCSN0eHAtaW1hZ2UtZ3JvdXAtY29udGVudCAuc29ydGFi
bGUgLmRlc3Ryb3l7dmlzaWJpbGl0eTp2aXNpYmxlfQ0KCSNhcnRpY2xlLWZpbGUtcmVzZXR7
dmlzaWJpbGl0eTpoaWRkZW59DQoJI2FydGljbGUtZmlsZS1jb250YWluZXIgcCwgI2FydGlj
bGUtZmlsZS1zZWxlY3QgcHtkaXNwbGF5OmlubGluZS1ibG9ja30NCgkjYXJ0aWNsZS1maWxl
LWlucHV0e2hlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IHotaW5kZXg6IDUwOyBwb3NpdGlv
bjogYWJzb2x1dGU7IG9wYWNpdHk6IDB9DQoJI2FydGljbGUtZmlsZS1kcm9wPmRpdi50eHAt
Zm9ybS1maWVsZC12YWx1ZXtwb3NpdGlvbjogcmVsYXRpdmU7IGJhY2tncm91bmQ6IHdoaXRl
OyBvdXRsaW5lOiAxcHggc29saWQgI2UzZTNlMzsgbWluLWhlaWdodDogNWV4fQ0KCSNtYWlu
X2NvbnRlbnR7cG9zaXRpb246c3RpY2t5O3RvcDowfQ0KCS5oaWRkZW57ZGlzcGxheTpub25l
fQ0KPC9zdHlsZT4nOw0KfQ0KDQpmdW5jdGlvbiBhYmNfZmlsZV91cGxvYWQoJGV2ZW50LCAk
c3RlcCwgJGRhdGEsICRycykNCnsNCgkkaWRzID0gJGltYWdlcyA9IGFycmF5KCk7DQoJaWYg
KCFlbXB0eSgkcnNbJ0ltYWdlJ10pKQ0KCXsNCgkJJGltYWdlcyA9IGFycmF5KCk7DQoJCWZv
cmVhY2ggKGRvX2xpc3RfdW5pcXVlKCRyc1snSW1hZ2UnXSkgYXMgJGlkKSB7DQoJCQlpZiAo
IWlzX251bWVyaWMoJGlkKSkNCgkJCQkkaWQgPSAoaW50KSBmZXRjaCgnaWQnLCAndHhwX2lt
YWdlJywgJ25hbWUnLCAkaWQpOw0KCQkJaWYgKCRpZCkgew0KCQkJCSRpZHNbXSA9ICRpZDsN
CgkJCX0NCgkJfQ0KCQkkaWRfbGlzdCA9IGltcGxvZGUoJywnLCAkaWRzKTsNCgkJJHJvd3Mg
PSAkaWRzID8gc2FmZV9yb3dzKCdpZCwgZXh0LCB0aHVtYm5haWwnLCAndHhwX2ltYWdlJywg
J2lkIElOICgnLiRpZF9saXN0LicpIE9SREVSIEJZIEZJRUxEKGlkLCAnLiRpZF9saXN0Licp
JykgOiBhcnJheSgpOw0KDQoJCWZvcmVhY2ggKCRyb3dzIGFzICRyb3cpIHsNCgkJCWV4dHJh
Y3QoJHJvdyk7DQoJCQkkaW1hZ2VzW10gPSAnPHAgY2xhc3M9InNvcnRhYmxlIiBkYXRhLWlk
PSInLiRpZC4nIj48YSBocmVmPSJpbmRleC5waHA/ZXZlbnQ9aW1hZ2Umc3RlcD1pbWFnZV9l
ZGl0JmlkPScuJGlkLiciIHRpdGxlPSImbHQ7dHhwOmltYWdlIGlkPSZxdW90OycuJGlkLicm
cXVvdCAvJmd0OyI+Jw0KCQkJLic8aW1nIHNyYz0iJy5pbWFnZXNyY3VybCgkaWQsICRleHQs
ICR0aHVtYm5haWwpLiciIC8+Jw0KCQkJLic8L2E+PGJ1dHRvbiBjbGFzcz0iZGVzdHJveSI+
PHNwYW4gY2xhc3M9InVpLWljb24gdWktaWNvbi1jbG9zZSI+Jy5nVHh0KCdkZWxldGUnKS4n
PC9zcGFuPjwvYnV0dG9uPjwvcD4nOw0KCQl9DQoJfQ0KDQoJJGFydGljbGVfaW1hZ2UgPSAn
PGRpdiBpZD0iYXJ0aWNsZS1maWxlLWNvbnRhaW5lciI+Jy5pbXBsb2RlKG4sICRpbWFnZXMp
Lic8L2Rpdj4nLm47DQoNCgkkaW1hZ2VzID0gYXJyYXkoKTsNCgkkc2VsZWN0X2ltYWdlcyA9
ICcnOw0KCSRsaW1pdCA9IGludHZhbChnZXRfcHJlZignYWJjX2ZpbGVfbGltaXQnKSkgb3Ig
JGxpbWl0ID0gMTI7DQoNCgkkcm93cyA9IHNhZmVfcm93cygnaWQsIGV4dCwgdGh1bWJuYWls
JywgJ3R4cF9pbWFnZScsICgkaWRzID8gJ2lkIE5PVCBJTignLiRpZF9saXN0LicpJyA6ICcx
JykuJyBPUkRFUiBCWSBkYXRlIERFU0MgTElNSVQgJy4kbGltaXQpOw0KDQoJZm9yZWFjaCAo
JHJvd3MgYXMgJHJvdykgew0KCQlleHRyYWN0KCRyb3cpOw0KCQkkaW1hZ2VzW10gPSAnPHAg
ZGF0YS1pZD0iJy4kaWQuJyI+PGEgaHJlZj0iaW5kZXgucGhwP2V2ZW50PWltYWdlJnN0ZXA9
aW1hZ2VfZWRpdCZpZD0nLiRpZC4nIiB0aXRsZT0iJmx0O3R4cDppbWFnZSBpZD0mcXVvdDsn
LiRpZC4nJnF1b3QgLyZndDsiPicNCgkJCS4nPGltZyBzcmM9IicuaW1hZ2VzcmN1cmwoJGlk
LCAkZXh0LCAkdGh1bWJuYWlsKS4nIiAvPicvL2ltYWdlKGFycmF5KCdpZCcgPT4gJGlkKSkN
CgkJCS4nPC9hPjxidXR0b24gY2xhc3M9ImRlc3Ryb3kiPjxzcGFuIGNsYXNzPSJ1aS1pY29u
IHVpLWljb24tY2xvc2UiPicuZ1R4dCgnZGVsZXRlJykuJzwvc3Bhbj48L2J1dHRvbj48L3A+
JzsNCgl9DQoNCgkkc2VsZWN0X2ltYWdlcyA9ICc8cCBjbGFzcz0idHhwLWFjdGlvbnMiPicN
CgkJLic8YSBpZD0iYXJ0aWNsZS1maWxlLWFkZCIgaHJlZj0iI2FydGljbGUtZmlsZS1zZWxl
Y3QiPicuZ1R4dCgnYWRkJykNCgkJLic8c3BhbiBjbGFzcz0idWktaWNvbiB1aS1pY29uLWFy
cm93dGhpY2tzdG9wLTEtcyI+PC9zcGFuPjwvYT48L3A+Jy5uDQoJLic8ZGl2IGlkPSJhcnRp
Y2xlLWZpbGUtc2VsZWN0IiBjbGFzcz0iaGlkZGVuIj4nLmltcGxvZGUobiwgJGltYWdlcyku
JzwvZGl2PicubjsNCg0KCXJldHVybiAkZGF0YS5uLiRhcnRpY2xlX2ltYWdlLm4uJzxociAv
Picubg0KCS5pbnB1dExhYmVsKA0KCQknYXJ0aWNsZS1maWxlLWlucHV0JywNCgkJJzxidXR0
b24gaWQ9ImFydGljbGUtZmlsZS1yZXNldCIgY2xhc3M9ImRlc3Ryb3kiPjxzcGFuIGNsYXNz
PSJ1aS1pY29uIHVpLWljb24tY2xvc2UiPicuZ1R4dCgnZGVsZXRlJykuJzwvc3Bhbj48L2J1
dHRvbj4nLm4uDQoJCSc8aW5wdXQgaWQ9ImFydGljbGUtZmlsZS1pbnB1dCIgdHlwZT0iZmls
ZSIgbmFtZT0iYXJ0aWNsZV9maWxlW10iIG11bHRpcGxlPSJtdWx0aXBsZSIgYWNjZXB0PSJp
bWFnZS8qIiBvbmNoYW5nZT0iYWJjUHJldmlldyh0aGlzKSIgLz4nDQoJCS4nPHA+Q2xpY2sg
b3IgZHJvcCBmaWxlcyBvbiB0aGlzIHpvbmU8L3A+Jy5uDQoJCS4nPGRpdiBpZD0iYXJ0aWNs
ZS1maWxlLXByZXZpZXciPjwvZGl2PicubiwgZ1R4dCgndXBsb2FkJyksDQoJCWFycmF5KCcn
LCAnaW5zdHJ1Y3Rpb25zX2FydGljbGVfaW1hZ2UnKSwNCgkJYXJyYXkoJ2lkJyA9PiAnYXJ0
aWNsZS1maWxlLWRyb3AnLCAnY2xhc3MnID0+ICd0eHAtZm9ybS1maWVsZCBhcnRpY2xlLWlt
YWdlJykNCgkpLm4uJzxociAvPicubi4kc2VsZWN0X2ltYWdlczsNCn0NCg0KZnVuY3Rpb24g
YWJjX2ZpbGVfc2F2ZSgkZXZlbnQsICRzdGVwLCAkcnMpDQp7DQoJaWYoZW1wdHkoJF9GSUxF
U1snYXJ0aWNsZV9maWxlJ11bJ3RtcF9uYW1lJ11bMF0pIHx8ICFoYXNfcHJpdnMoJ2ltYWdl
LmVkaXQnKSkgcmV0dXJuOw0KDQoJaW5jbHVkZV9vbmNlICdsaWInLkRJUkVDVE9SWV9TRVBB
UkFUT1IuJ2NsYXNzLnRodW1iLnBocCc7DQoJJGlkcyA9IGFycmF5KCk7DQoJJGZpbGVzID0g
VHhwOjpnZXQoJ1xUZXh0cGF0dGVyblxTZXJ2ZXJcRmlsZXMnKS0+cmVmYWN0b3IoJF9GSUxF
U1snYXJ0aWNsZV9maWxlJ10pOw0KDQoJZm9yZWFjaCAoJGZpbGVzIGFzICRmaWxlKSB7DQoJ
CSRtZXRhID0gYXJyYXkoJ2FsdCcgPT4gJGZpbGVbJ25hbWUnXSk7ICAvL2NhcHRpb24sIGNh
dGVnb3J5DQoJCSRpbWdfcmVzdWx0ID0gaW1hZ2VfZGF0YSgkZmlsZSwgJG1ldGEpOw0KDQoJ
CWlmIChpc19hcnJheSgkaW1nX3Jlc3VsdCkpIHsNCgkJCWxpc3QoJG1lc3NhZ2UsICRpZCkg
PSAkaW1nX3Jlc3VsdDsNCgkJCSRpZHNbXSA9ICRpZDsNCgkJfQ0KCX0NCg0KCSRHTE9CQUxT
WydJRCddID0gaW50dmFsKCRyc1snSUQnXSk7Ly8gc2ljIQ0KCSRpZHMgPSBpbXBsb2RlKCcs
JywgJGlkcyk7DQoJJGlkcyA9IGltcGxvZGUoJywnLCBkb19saXN0X3VuaXF1ZSgkcnNbJ0lt
YWdlJ10uJywnLiRpZHMpKTsNCglzYWZlX3VwZGF0ZSgndGV4dHBhdHRlcm4nLCAiSW1hZ2U9
JyIuZG9TbGFzaCgkaWRzKS4iJyIsICdJRD0nLiRHTE9CQUxTWydJRCddKTsNCn0iO3M6NDoi
dHlwZSI7czoxOiI0IjtzOjU6Im9yZGVyIjtzOjE6IjUiO3M6NToiZmxhZ3MiO3M6MToiMCI7
czo0OiJoZWxwIjtzOjA6IiI7czozOiJtZDUiO3M6MzI6IjA1MGE4MWYyOTExMzE1OTY3Njdm
Y2ZmNThiZTczNmM1Ijt9

etc_[ query | search | pagination | date | tree | cache ]

Offline

#46 2018-11-09 13:02:24

Bloke
Developer
From: Leeds, UK
Registered: 2006-01-29
Posts: 8,458
Website

Re: [feedback] Image upload directly in the write tab

etc wrote #315128:

Version 0.7 allows you to define how images should be imported

Sounds more like smd_imagery with every release ;)

I’ll check this out, thank you for writing it.


The smd plugin menagerie — for when you need one more gribble of power from Textpattern. Bleeding-edge code available on GitHub.

Txp Builders – finely-crafted code, design and Txp

Offline

#47 2018-11-10 09:29:37

etc
Developer
Registered: 2010-11-11
Posts: 2,949
Website

Re: [feedback] Image upload directly in the write tab

Bloke wrote #315129:

Sounds more like smd_imagery with every release ;)

Version 0.7.1: uses thumbnails if present :-)


etc_[ query | search | pagination | date | tree | cache ]

Offline

Board footer

Powered by FluxBB